Description
Configuration value, "hama.sync.client.class", is never used. Because configuration value to run test code is not "hama.sync.client.classe" but "hama.sync.peer.class".
In BSPPeerImpl.java, configuration value refer to SYNC_PEER_CLASS so as to initialize syncClient. But SYNC_PEER_CLASS is "hama.sync.peer.class" so it's no use setting "hama.sync.client.class".
SyncServiceFactory.java
public static final String SYNC_SERVER_CLASS = "hama.sync.server.class"; public static final String SYNC_PEER_CLASS = "hama.sync.peer.class"; public static final String SYNC_MASTER_CLASS = "hama.sync.master.class"; /** * Returns a sync client via reflection based on what was configured. */ public static PeerSyncClient getPeerSyncClient(Configuration conf) throws ClassNotFoundException { return (PeerSyncClient) ReflectionUtils.newInstance(conf .getClassByName(conf.get(SYNC_PEER_CLASS, ZooKeeperSyncClientImpl.class.getName())), conf); }
We need to modify configuration value from "hama.sync.client.class" to "hama.sync.peer.class" in test codes.