Program: 7168
Project: 7168
Buggy source:
@BeforeClass public static void init() throws Exception {
  InMemoryZKServer zkServer=InMemoryZKServer.builder().setDataDir(tmpFolder.newFolder()).build();
  zkServer.startAndWait();
  testHBase=new HBaseTestFactory().get();
  testHBase.startHBase();
  Configuration hConf=testHBase.getConfiguration();
  CConfiguration cConf=CConfiguration.create();
  cConf.setInt(Constants.Stream.CONTAINER_INSTANCES,1);
  cConf.set(Constants.CFG_LOCAL_DATA_DIR,tmpFolder.newFolder().getAbsolutePath());
  cConf.set(Constants.Zookeeper.QUORUM,zkServer.getConnectionStr());
  Injector injector=Guice.createInjector(new ConfigModule(cConf,hConf),new ZKClientModule(),new LocationRuntimeModule().getInMemoryModules(),new DiscoveryRuntimeModule().getInMemoryModules(),new TransactionMetricsModule(),new DataSetsModules().getInMemoryModules(),new SystemDatasetRuntimeModule().getInMemoryModules(),Modules.override(new DataFabricDistributedModule(),new StreamAdminModules().getDistributedModules()).with(new AbstractModule(){
    @Override protected void configure(){
      bind(TransactionStateStorage.class).to(NoOpTransactionStateStorage.class);
      bind(TransactionSystemClient.class).to(InMemoryTxSystemClient.class).in(Singleton.class);
      bind(StreamMetaStore.class).to(InMemoryStreamMetaStore.class);
      bind(NotificationFeedManager.class).to(NoOpNotificationFeedManager.class);
    }
  }
));
  ZKClientService zkClientService=injector.getInstance(ZKClientService.class);
  zkClientService.startAndWait();
  streamAdmin=injector.getInstance(StreamAdmin.class);
  txManager=injector.getInstance(TransactionManager.class);
  fileWriterFactory=injector.getInstance(StreamFileWriterFactory.class);
  setupNamespaces(injector.getInstance(LocationFactory.class));
  txManager.startAndWait();
}

Fixed version (ground truth):
@BeforeClass public static void init() throws Exception {
  InMemoryZKServer zkServer=InMemoryZKServer.builder().setDataDir(tmpFolder.newFolder()).build();
  zkServer.startAndWait();
  testHBase=new HBaseTestFactory().get();
  testHBase.startHBase();
  Configuration hConf=testHBase.getConfiguration();
  CConfiguration cConf=CConfiguration.create();
  cConf.setInt(Constants.Stream.CONTAINER_INSTANCES,1);
  cConf.set(Constants.CFG_LOCAL_DATA_DIR,tmpFolder.newFolder().getAbsolutePath());
  cConf.set(Constants.Zookeeper.QUORUM,zkServer.getConnectionStr());
  Injector injector=Guice.createInjector(new ConfigModule(cConf,hConf),new ZKClientModule(),new LocationRuntimeModule().getInMemoryModules(),new DiscoveryRuntimeModule().getInMemoryModules(),new TransactionMetricsModule(),new DataSetsModules().getInMemoryModules(),new SystemDatasetRuntimeModule().getInMemoryModules(),Modules.override(new DataFabricDistributedModule(),new StreamAdminModules().getDistributedModules()).with(new AbstractModule(){
    @Override protected void configure(){
      bind(TransactionStateStorage.class).to(NoOpTransactionStateStorage.class);
      bind(TransactionSystemClient.class).to(InMemoryTxSystemClient.class).in(Singleton.class);
      bind(StreamMetaStore.class).to(InMemoryStreamMetaStore.class);
      bind(NotificationFeedManager.class).to(NoOpNotificationFeedManager.class);
    }
  }
));
  ZKClientService zkClientService=injector.getInstance(ZKClientService.class);
  zkClientService.startAndWait();
  streamAdmin=injector.getInstance(StreamAdmin.class);
  txManager=injector.getInstance(TransactionManager.class);
  fileWriterFactory=injector.getInstance(StreamFileWriterFactory.class);
  streamCoordinatorClient=injector.getInstance(StreamCoordinatorClient.class);
  setupNamespaces(injector.getInstance(LocationFactory.class));
  txManager.startAndWait();
  streamCoordinatorClient.startAndWait();
}