|
@@ -49,6 +49,7 @@ import org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos.Type;
|
|
import org.apache.hadoop.hdds.scm.ScmConfigKeys;
|
|
import org.apache.hadoop.hdds.scm.ScmConfigKeys;
|
|
import org.apache.hadoop.hdds.scm.container.common.helpers
|
|
import org.apache.hadoop.hdds.scm.container.common.helpers
|
|
.StorageContainerException;
|
|
.StorageContainerException;
|
|
|
|
+import org.apache.hadoop.ozone.OzoneConfigKeys;
|
|
import org.apache.hadoop.ozone.container.common.helpers.BlockData;
|
|
import org.apache.hadoop.ozone.container.common.helpers.BlockData;
|
|
import org.apache.hadoop.ozone.container.common.helpers.ChunkInfo;
|
|
import org.apache.hadoop.ozone.container.common.helpers.ChunkInfo;
|
|
import org.apache.hadoop.ozone.container.common.helpers.ContainerMetrics;
|
|
import org.apache.hadoop.ozone.container.common.helpers.ContainerMetrics;
|
|
@@ -111,13 +112,17 @@ public class KeyValueHandler extends Handler {
|
|
private final VolumeChoosingPolicy volumeChoosingPolicy;
|
|
private final VolumeChoosingPolicy volumeChoosingPolicy;
|
|
private final long maxContainerSize;
|
|
private final long maxContainerSize;
|
|
private final AutoCloseableLock handlerLock;
|
|
private final AutoCloseableLock handlerLock;
|
|
|
|
+ private final boolean doSyncWrite;
|
|
|
|
|
|
public KeyValueHandler(Configuration config, StateContext context,
|
|
public KeyValueHandler(Configuration config, StateContext context,
|
|
ContainerSet contSet, VolumeSet volSet, ContainerMetrics metrics) {
|
|
ContainerSet contSet, VolumeSet volSet, ContainerMetrics metrics) {
|
|
super(config, context, contSet, volSet, metrics);
|
|
super(config, context, contSet, volSet, metrics);
|
|
containerType = ContainerType.KeyValueContainer;
|
|
containerType = ContainerType.KeyValueContainer;
|
|
blockManager = new BlockManagerImpl(config);
|
|
blockManager = new BlockManagerImpl(config);
|
|
- chunkManager = new ChunkManagerImpl();
|
|
|
|
|
|
+ doSyncWrite =
|
|
|
|
+ conf.getBoolean(OzoneConfigKeys.DFS_CONTAINER_CHUNK_WRITE_SYNC_KEY,
|
|
|
|
+ OzoneConfigKeys.DFS_CONTAINER_CHUNK_WRITE_SYNC_DEFAULT);
|
|
|
|
+ chunkManager = new ChunkManagerImpl(doSyncWrite);
|
|
long svcInterval = config
|
|
long svcInterval = config
|
|
.getTimeDuration(OZONE_BLOCK_DELETING_SERVICE_INTERVAL,
|
|
.getTimeDuration(OZONE_BLOCK_DELETING_SERVICE_INTERVAL,
|
|
OZONE_BLOCK_DELETING_SERVICE_INTERVAL_DEFAULT,
|
|
OZONE_BLOCK_DELETING_SERVICE_INTERVAL_DEFAULT,
|