### Question:
ZkClusterMetadataStore implements ClusterMetadataStore { @Override public void updateClusterMetadata(ClusterMetadata metadata) { byte[] data = metadata.toByteArray(); try { client.setData().forPath(zkClusterMetadataPath, data); } catch (Exception e) { throw new StorageRuntimeException("Failed to update cluster metadata to zookeeper @" + zkClusterMetadataPath, e); } } ZkClusterMetadataStore(CuratorFramework client, String zkServers, String zkRootPath); @Override void close(); @Override boolean initializeCluster(int numStorageContainers, Optional<String> segmentStorePath); @Override ClusterAssignmentData getClusterAssignmentData(); @Override void updateClusterAssignmentData(ClusterAssignmentData assigmentData); @Override void watchClusterAssignmentData(Consumer<Void> watcher, Executor executor); @Override void unwatchClusterAssignmentData(Consumer<Void> watcher); @Override ClusterMetadata getClusterMetadata(); @Override void updateClusterMetadata(ClusterMetadata metadata);  }### Answer:
@Test public void testUpdateClusterMetadata() { int numStorageContainers = 4096; ClusterMetadata metadata = ClusterMetadata.newBuilder() .setNumStorageContainers(numStorageContainers) .build(); store.updateClusterMetadata(metadata); assertEquals(metadata, store.getClusterMetadata()); }