/** * Removes one node from the cluster. This method is idempotent. * * @param nodeId, * the node id. * @throws HyracksException * when the IP address given in the node state is not valid */ @Idempotent void removeNode(String nodeId) throws HyracksException;
@ThreadSafetyGuaranteedBy("MultiplexedConnection.this") private class EventCounter implements IEventCounter { private int counter; @Override public synchronized void increment() { if (!connectionFailure) { ++counter; if (counter == 1) { tcpConnection.enable(SelectionKey.OP_WRITE); } } } @Override public synchronized void decrement() { if (!connectionFailure) { --counter; if (counter == 0) { tcpConnection.disable(SelectionKey.OP_WRITE); } if (counter < 0) { throw new IllegalStateException(); } } } }
@ThreadSafe public class LSMComponentIdGenerator implements ILSMComponentIdGenerator {
@NotThreadSafe public class FileMapManager implements IFileMapManager { private static final long serialVersionUID = 1L;
@NotThreadSafe @ThreadSafetyGuaranteedBy("JobManager") public class FIFOJobQueue implements IJobQueue {
@SuppressWarnings("squid:S1181") @Override @CriticalPath public void delete(ITupleReference tuple) throws HyracksDataException { try { ITupleReference t = tuple; final int bulkloadersCount = bulkloaderChain.size(); for (int i = 0; i < bulkloadersCount; i++) { t = bulkloaderChain.get(i).delete(t); } } catch (Throwable e) { operation.setFailure(e); cleanupArtifacts(); throw e; } if (isEmptyComponent) { isEmptyComponent = false; } }
@ThreadSafe public class NodeJobTracker implements INodeJobTracker {
@NotThreadSafe public class HttpServerConfigBuilder {
@Override @Idempotent public synchronized void removeNode(String nodeId) throws HyracksException { NodeControllerState ncState = nodeRegistry.remove(nodeId); if (ncState == null) { LOGGER.warn("request to remove unknown node {}; ignoring", nodeId); } else { removeNodeFromIpAddressMap(nodeId, ncState); } // Updates the cluster capacity (idempotent) resourceManager.update(nodeId, new NodeCapacity(0L, 0)); }
@ThreadSafe public class HttpServerConfig {
@NotThreadSafe public class ResultSetReader implements IResultSetReader {
@ThreadSafe public class AtomicTransactionContext extends AbstractTransactionContext {
@ThreadSafe public class EntityLevelTransactionContext extends AbstractTransactionContext {
@ThreadSafe public class ReplicationManager implements IReplicationManager {
@ThreadSafe public class ReplicaManager implements IReplicaManager { private static final Logger LOGGER = LogManager.getLogger();
@ThreadSafe public class DatasetMemoryManager implements IDatasetMemoryManager {
@ThreadSafe public abstract class AbstractTransactionContext implements ITransactionContext {
@ThreadSafe public class TransactionManager implements ITransactionManager, ILifeCycleComponent {
@ThreadSafe public class PartitionReplica implements IPartitionReplica {
@ThreadSafe public class IndexCheckpointManager implements IIndexCheckpointManager {