title: Hazelcast Map is locked
body: <p>We are using Hazelcast 2.3.1, in our hazelcast.xml configuration file we
  use write behind for an Hazelcast IMap:</p>
  
  <pre class="lang-xml prettyprint-override"><code> &lt;map name="HazelcastObjectOperations.objectMap"&gt;
           &lt;backup-count&gt;1&lt;/backup-count&gt;
           &lt;map-store enabled="true"&gt;
               &lt;class-name&gt;persister.HazelcastObjectPersister&lt;/class-name&gt;
               &lt;write-delay-seconds&gt;10&lt;/write-delay-seconds&gt;
           &lt;/map-store&gt;
   &lt;/map&gt;
   &lt;properties&gt;
        &lt;property name="hazelcast.map.cleanup.delay.seconds"&gt;5&lt;/property&gt;
   &lt;/properties&gt;
  </code></pre>
  
  <p>We got two classes</p>
  
  <ol>
  <li><code>HazelcastObjectOperation</code> which holds the map and is
  used to put objects into it.</li>
  <li><code>HazelcastObjectPersister</code> which extends MapStore is used
  to persist Objects when Hazelcast is calling <code>storeAll()</code>.</li>
  </ol>
  
  <pre class="lang-java prettyprint-override"><code>public class HazelcastObjectOperation {
  
      protected final IMap&lt;Long, MyHzcObj&gt; objectMap;
      private final HazelcastInstance instance;
  
      public HazelcastObjectOperation() {
          this.instance = Hazelcast.getDefaultInstance();
          this.objectMap = this.instance.getMap("HazelcastObjectOperations.objectMap" );
      }
  
      public void save( final MyHzcObj object ) {
          long start = System.currentTimeMillis();
          IdGenerator generator = Hazelcast.getIdGenerator("generator");
          this.objectMap.put( generator.newId(), object );
          long end = System.currentTimeMillis();
      }
  }
  </code></pre>
  
  <p>The Problem is when Hazelcast runs through this map and fetches the
  objects which should be stored in the storeAll method of the persister
  class, the map is locked for seconds and so a put into this map lasts
  this time. Is there any solution for this problem?</p>