Search in sources :

Example 1 with IracStateResponseCommand

use of org.infinispan.commands.irac.IracStateResponseCommand in project infinispan by infinispan.

the class DefaultIracManager method createAndSendBatch.

private Completable createAndSendBatch(Address dst, Collection<? extends IracManagerKeyState> batch) {
    if (log.isTraceEnabled()) {
        log.tracef("Sending state response to %s. Batch=%s", dst, Util.toStr(batch));
    }
    RpcOptions rpcOptions = rpcManager.getSyncRpcOptions();
    ResponseCollector<Void> rspCollector = ignoreLeavers();
    IracStateResponseCommand cmd = commandsFactory.buildIracStateResponseCommand(batch.size());
    for (IracManagerKeyState state : batch) {
        IracMetadata tombstone = iracTombstoneManager.getTombstone(state.getKey());
        cmd.add(state, tombstone);
    }
    return Completable.fromCompletionStage(rpcManager.invokeCommand(dst, cmd, rspCollector, rpcOptions).exceptionally(throwable -> {
        if (log.isTraceEnabled()) {
            log.tracef(throwable, "Batch sent to %s failed! Batch=%s", dst, Util.toStr(batch));
        }
        return null;
    }));
}
Also used : JmxStatisticsExposer(org.infinispan.jmx.JmxStatisticsExposer) XSiteResponse(org.infinispan.remoting.transport.XSiteResponse) ComponentName(org.infinispan.factories.annotations.ComponentName) LogFactory(org.infinispan.util.logging.LogFactory) XSiteState(org.infinispan.xsite.statetransfer.XSiteState) VoidResponseCollector.ignoreLeavers(org.infinispan.remoting.transport.impl.VoidResponseCollector.ignoreLeavers) IracTouchKeyCommand(org.infinispan.commands.irac.IracTouchKeyCommand) KnownComponentNames(org.infinispan.factories.KnownComponentNames) SiteState(org.infinispan.xsite.status.SiteState) Scopes(org.infinispan.factories.scopes.Scopes) MBean(org.infinispan.jmx.annotations.MBean) CompletableFutures(org.infinispan.util.concurrent.CompletableFutures) ManagedOperation(org.infinispan.jmx.annotations.ManagedOperation) Map(java.util.Map) Scope(org.infinispan.factories.scopes.Scope) RpcOptions(org.infinispan.remoting.rpc.RpcOptions) XSiteBackup(org.infinispan.xsite.XSiteBackup) IracMetadata(org.infinispan.metadata.impl.IracMetadata) CommandsFactory(org.infinispan.commands.CommandsFactory) Collection(java.util.Collection) ConcurrentHashMap(java.util.concurrent.ConcurrentHashMap) CacheTopology(org.infinispan.topology.CacheTopology) Collectors(java.util.stream.Collectors) ResponseCollector(org.infinispan.remoting.transport.ResponseCollector) Objects(java.util.Objects) IntSet(org.infinispan.commons.util.IntSet) CompletionStage(java.util.concurrent.CompletionStage) MeasurementType(org.infinispan.jmx.annotations.MeasurementType) IracCleanupKeyCommand(org.infinispan.commands.irac.IracCleanupKeyCommand) ExponentialBackOffImpl(org.infinispan.util.ExponentialBackOffImpl) IntSets.mutableCopyFrom(org.infinispan.commons.util.IntSets.mutableCopyFrom) LongAdder(java.util.concurrent.atomic.LongAdder) InternalCacheEntry(org.infinispan.container.entries.InternalCacheEntry) BackupConfiguration(org.infinispan.configuration.cache.BackupConfiguration) XSiteStateTransferConfiguration(org.infinispan.configuration.cache.XSiteStateTransferConfiguration) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) HashMap(java.util.HashMap) CompletableFuture(java.util.concurrent.CompletableFuture) CompletionStages(org.infinispan.util.concurrent.CompletionStages) DataType(org.infinispan.jmx.annotations.DataType) Function(java.util.function.Function) Start(org.infinispan.factories.annotations.Start) IracTombstoneManager(org.infinispan.container.versioning.irac.IracTombstoneManager) Log(org.infinispan.util.logging.Log) TakeOfflineManager(org.infinispan.xsite.status.TakeOfflineManager) ScheduledExecutorService(java.util.concurrent.ScheduledExecutorService) ClusteringDependentLogic(org.infinispan.interceptors.locking.ClusteringDependentLogic) Address(org.infinispan.remoting.transport.Address) IntSets.mutableEmptySet(org.infinispan.commons.util.IntSets.mutableEmptySet) Transport(org.infinispan.remoting.transport.Transport) XSiteReplicateCommand(org.infinispan.xsite.XSiteReplicateCommand) Flowable(io.reactivex.rxjava3.core.Flowable) Executor(java.util.concurrent.Executor) Util(org.infinispan.commons.util.Util) RpcManager(org.infinispan.remoting.rpc.RpcManager) Completable(io.reactivex.rxjava3.core.Completable) Inject(org.infinispan.factories.annotations.Inject) PrimitiveIterator(java.util.PrimitiveIterator) CacheRpcCommand(org.infinispan.commands.remote.CacheRpcCommand) ManagedAttribute(org.infinispan.jmx.annotations.ManagedAttribute) LocalizedCacheTopology(org.infinispan.distribution.LocalizedCacheTopology) Configuration(org.infinispan.configuration.cache.Configuration) DistributionInfo(org.infinispan.distribution.DistributionInfo) IracStateResponseCommand(org.infinispan.commands.irac.IracStateResponseCommand) DeliverOrder(org.infinispan.remoting.inboundhandler.DeliverOrder) ExponentialBackOff(org.infinispan.util.ExponentialBackOff) AggregateCompletionStage(org.infinispan.util.concurrent.AggregateCompletionStage) RpcOptions(org.infinispan.remoting.rpc.RpcOptions) IracMetadata(org.infinispan.metadata.impl.IracMetadata) IracStateResponseCommand(org.infinispan.commands.irac.IracStateResponseCommand)

Aggregations

Completable (io.reactivex.rxjava3.core.Completable)1 Flowable (io.reactivex.rxjava3.core.Flowable)1 Collection (java.util.Collection)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1 Objects (java.util.Objects)1 PrimitiveIterator (java.util.PrimitiveIterator)1 CompletableFuture (java.util.concurrent.CompletableFuture)1 CompletionStage (java.util.concurrent.CompletionStage)1 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)1 Executor (java.util.concurrent.Executor)1 ScheduledExecutorService (java.util.concurrent.ScheduledExecutorService)1 AtomicBoolean (java.util.concurrent.atomic.AtomicBoolean)1 LongAdder (java.util.concurrent.atomic.LongAdder)1 Function (java.util.function.Function)1 Collectors (java.util.stream.Collectors)1 CommandsFactory (org.infinispan.commands.CommandsFactory)1 IracCleanupKeyCommand (org.infinispan.commands.irac.IracCleanupKeyCommand)1 IracStateResponseCommand (org.infinispan.commands.irac.IracStateResponseCommand)1 IracTouchKeyCommand (org.infinispan.commands.irac.IracTouchKeyCommand)1