Program: 49385
Project: 49385
Buggy source:
@Test public void testTxnCommit() throws TransactionException {
  Config config=new Config();
  StaticNodeFactory factory=new StaticNodeFactory(2);
  HazelcastInstance h1=factory.newHazelcastInstance(config);
  HazelcastInstance h2=factory.newHazelcastInstance(config);
  final IMap map2=h2.getMap("String_Node_Str");
  boolean b=h1.executeTransaction(new TransactionalTask<Boolean>(){
    public Boolean execute(    TransactionContext context) throws TransactionException {
      final TransactionalMap<Object,Object> txMap=context.getMap("String_Node_Str");
      txMap.put("String_Node_Str","String_Node_Str");
      txMap.put("String_Node_Str","String_Node_Str");
      txMap.put("String_Node_Str","String_Node_Str");
      txMap.put("String_Node_Str","String_Node_Str");
      txMap.set("String_Node_Str","String_Node_Str");
      assertEquals("String_Node_Str",txMap.get("String_Node_Str"));
      assertEquals("String_Node_Str",txMap.get("String_Node_Str"));
      assertEquals("String_Node_Str",txMap.get("String_Node_Str"));
      assertNull(map2.get("String_Node_Str"));
      assertNull(map2.get("String_Node_Str"));
      assertNull(map2.get("String_Node_Str"));
      return true;
    }
  }
);
  assertTrue(b);
  IMap map1=h1.getMap("String_Node_Str");
  assertEquals("String_Node_Str",map1.get("String_Node_Str"));
  assertEquals("String_Node_Str",map1.get("String_Node_Str"));
  assertEquals("String_Node_Str",map1.get("String_Node_Str"));
  assertEquals("String_Node_Str",map2.get("String_Node_Str"));
  assertEquals("String_Node_Str",map2.get("String_Node_Str"));
  assertEquals("String_Node_Str",map2.get("String_Node_Str"));
}

Fixed version (ground truth):
@Test public void testTxnCommit() throws TransactionException {
  Config config=new Config();
  StaticNodeFactory factory=new StaticNodeFactory(2);
  HazelcastInstance h1=factory.newHazelcastInstance(config);
  HazelcastInstance h2=factory.newHazelcastInstance(config);
  final IMap map2=h2.getMap("String_Node_Str");
  boolean b=h1.executeTransaction(new TransactionalTask<Boolean>(){
    public Boolean execute(    TransactionContext context) throws TransactionException {
      final TransactionalMap<Object,Object> txMap=context.getMap("String_Node_Str");
      txMap.put("String_Node_Str","String_Node_Str");
      txMap.put("String_Node_Str","String_Node_Str");
      txMap.put("String_Node_Str","String_Node_Str");
      txMap.put("String_Node_Str","String_Node_Str");
      txMap.set("String_Node_Str","String_Node_Str");
      assertEquals("String_Node_Str",txMap.get("String_Node_Str"));
      assertEquals("String_Node_Str",txMap.get("String_Node_Str"));
      assertEquals("String_Node_Str",txMap.get("String_Node_Str"));
      assertNull(map2.get("String_Node_Str"));
      assertNull(map2.get("String_Node_Str"));
      assertNull(map2.get("String_Node_Str"));
      return true;
    }
  }
,new TransactionOptions().setTimeout(1,TimeUnit.SECONDS));
  assertTrue(b);
  IMap map1=h1.getMap("String_Node_Str");
  assertEquals("String_Node_Str",map1.get("String_Node_Str"));
  assertEquals("String_Node_Str",map1.get("String_Node_Str"));
  assertEquals("String_Node_Str",map1.get("String_Node_Str"));
  assertEquals("String_Node_Str",map2.get("String_Node_Str"));
  assertEquals("String_Node_Str",map2.get("String_Node_Str"));
  assertEquals("String_Node_Str",map2.get("String_Node_Str"));
}