Skip to content

Commit

Permalink
HDDS-10741. Mark value objects as Immutable (#6579)
Browse files Browse the repository at this point in the history
  • Loading branch information
adoroszlai authored Apr 24, 2024
1 parent 95b2caa commit fd30db5
Show file tree
Hide file tree
Showing 8 changed files with 20 additions and 147 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,15 @@
*/
package org.apache.hadoop.hdds.client;

import net.jcip.annotations.Immutable;
import org.apache.hadoop.hdds.protocol.proto.HddsProtos;

import java.util.Objects;

/**
* Replication configuration for EC replication.
*/
@Immutable
public class DefaultReplicationConfig {

private final ECReplicationConfig ecReplicationConfig;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
package org.apache.hadoop.hdds.client;

import com.fasterxml.jackson.annotation.JsonIgnore;
import net.jcip.annotations.Immutable;
import org.apache.hadoop.hdds.protocol.proto.HddsProtos;

import java.util.EnumSet;
Expand All @@ -30,6 +31,7 @@
/**
* Replication configuration for EC replication.
*/
@Immutable
public class ECReplicationConfig implements ReplicationConfig {

public static final String EC_REPLICATION_PARAMS_DELIMITER = "-";
Expand Down Expand Up @@ -60,17 +62,16 @@ public static String allValuesAsString() {
private static final Pattern STRING_FORMAT
= Pattern.compile("([a-zA-Z]+)-(\\d+)-(\\d+)-(\\d+)([kK])?");

private int data;
private final int data;

private int parity;
private final int parity;

private int ecChunkSize = 1024 * 1024;
private final int ecChunkSize;

private EcCodec codec = EcCodec.RS;
private final EcCodec codec;

public ECReplicationConfig(int data, int parity) {
this.data = data;
this.parity = parity;
this(data, parity, EcCodec.RS, 1024 * 1024);
}

public ECReplicationConfig(int data, int parity, EcCodec codec,
Expand Down Expand Up @@ -121,7 +122,7 @@ public ECReplicationConfig(String string) {
") be greater than zero");
}
if (matcher.group(5) != null) {
// The "k" modifier is present, so multiple by 1024
// The "k" modifier is present, so multiply by 1024
chunkSize = chunkSize * 1024;
}
ecChunkSize = chunkSize;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import net.jcip.annotations.Immutable;
import org.apache.hadoop.hdds.protocol.proto.HddsProtos.ReplicationFactor;
import org.apache.hadoop.hdds.protocol.proto.HddsProtos.ReplicationType;

Expand All @@ -31,6 +32,7 @@
/**
* Replication configuration for Ratis replication.
*/
@Immutable
public final class RatisReplicationConfig
implements ReplicatedReplicationConfig {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import net.jcip.annotations.Immutable;
import org.apache.hadoop.hdds.protocol.proto.HddsProtos.ReplicationFactor;
import org.apache.hadoop.hdds.protocol.proto.HddsProtos.ReplicationType;

Expand All @@ -31,6 +32,7 @@
/**
* Replication configuration for STANDALONE replication.
*/
@Immutable
public final class StandaloneReplicationConfig implements
ReplicatedReplicationConfig {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@

import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import net.jcip.annotations.Immutable;
import org.apache.hadoop.hdds.client.DefaultReplicationConfig;
import org.apache.hadoop.hdds.protocol.StorageType;
import org.apache.hadoop.ozone.OzoneAcl;
Expand All @@ -35,6 +36,7 @@
* This class encapsulates the arguments that are
* required for creating a bucket.
*/
@Immutable
public final class BucketArgs {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@

import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import net.jcip.annotations.Immutable;
import org.apache.hadoop.ozone.OzoneAcl;
import org.apache.hadoop.ozone.OzoneConsts;

Expand All @@ -33,6 +34,7 @@
* This class encapsulates the arguments that are
* required for creating a volume.
*/
@Immutable
public final class VolumeArgs {

private final String admin;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.google.common.annotations.VisibleForTesting;
import com.google.protobuf.ByteString;
import net.jcip.annotations.Immutable;
import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OzoneAclInfo;
import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OzoneAclInfo.OzoneAclScope;
import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OzoneAclInfo.OzoneAclType;
Expand Down Expand Up @@ -49,6 +50,7 @@
* <li>world::rw
* </ul>
*/
@Immutable
public class OzoneAcl {

private static final String ACL_SCOPE_REGEX = ".*\\[(ACCESS|DEFAULT)\\]";
Expand Down

This file was deleted.

0 comments on commit fd30db5

Please sign in to comment.