Class UnorderedDistributionInterceptor

  • All Implemented Interfaces:
    org.infinispan.commands.Visitor, org.infinispan.interceptors.AsyncInterceptor

    public class UnorderedDistributionInterceptor
    extends org.infinispan.interceptors.distribution.NonTxDistributionInterceptor
    Since the applied functions do not rely on the order how these are applied (the updates are commutative), this interceptor simply sends any command to all other owners without ordering them through primary owner. Note that LockingInterceptor is required in the stack as locking on backup is not guaranteed by primary owner.
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.infinispan.interceptors.distribution.BaseDistributionInterceptor

        org.infinispan.interceptors.distribution.BaseDistributionInterceptor.ReadManyCommandHelper<C extends Object>, org.infinispan.interceptors.distribution.BaseDistributionInterceptor.ReadOnlyManyHelper, org.infinispan.interceptors.distribution.BaseDistributionInterceptor.RemoteGetAllHandler
      • Nested classes/interfaces inherited from class org.infinispan.interceptors.impl.ClusteringInterceptor

        org.infinispan.interceptors.impl.ClusteringInterceptor.ClusteredGetAllFuture
    • Field Summary

      • Fields inherited from class org.infinispan.interceptors.distribution.BaseDistributionInterceptor

        expirationManager, isL1Enabled, keyPartitioner, rvrl, timeService
      • Fields inherited from class org.infinispan.interceptors.impl.ClusteringInterceptor

        cf, dataContainer, entryFactory, lockManager, stateTransferManager
      • Fields inherited from class org.infinispan.interceptors.impl.BaseRpcInterceptor

        componentRegistry, defaultSynchronous, rpcManager
      • Fields inherited from class org.infinispan.interceptors.BaseAsyncInterceptor

        cacheConfiguration
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Object invokeRemotelyAsync​(List<org.infinispan.remoting.transport.Address> finalOwners, org.infinispan.context.InvocationContext rCtx, org.infinispan.commands.write.WriteCommand writeCmd)  
      void start()  
      Object visitPutKeyValueCommand​(org.infinispan.context.InvocationContext ctx, org.infinispan.commands.write.PutKeyValueCommand command)  
      Object visitReadWriteKeyCommand​(org.infinispan.context.InvocationContext ctx, org.infinispan.commands.functional.ReadWriteKeyCommand command)  
      • Methods inherited from class org.infinispan.interceptors.distribution.NonTxDistributionInterceptor

        visitComputeCommand, visitComputeIfAbsentCommand, visitPutMapCommand, visitReadWriteKeyValueCommand, visitReadWriteManyCommand, visitReadWriteManyEntriesCommand, visitRemoveCommand, visitReplaceCommand, visitWriteOnlyKeyCommand, visitWriteOnlyKeyValueCommand, visitWriteOnlyManyCommand, visitWriteOnlyManyEntriesCommand
      • Methods inherited from class org.infinispan.interceptors.distribution.BaseDistributionInterceptor

        checkTopologyId, configure, getLog, handleFunctionalReadManyCommand, handleMissingSuccessfulResponse, handleNonTxWriteCommand, handleRemotelyRetrievedKeys, invokeRemotely, invokeRemoveExpiredCommand, readNeedsRemoteValue, remoteGet, remoteGetAll, remoteReadOnlyCommand, retrieveDistributionInfo, unwrapFunctionalManyResultOnOrigin, unwrapFunctionalResultOnOrigin, visitClearCommand, visitGetAllCommand, visitGetCacheEntryCommand, visitGetKeysInGroupCommand, visitGetKeyValueCommand, visitReadOnlyKeyCommand, visitReadOnlyManyCommand, visitRemoveExpiredCommand, visitSizeCommand, wrapFunctionalManyResultOnNonOrigin, wrapFunctionalResultOnNonOriginOnReturn, wrapRemoteEntry
      • Methods inherited from class org.infinispan.interceptors.impl.ClusteringInterceptor

        getSingleResponse, getSuccessfulResponseOrFail, unexpected
      • Methods inherited from class org.infinispan.interceptors.impl.BaseRpcInterceptor

        init, isLocalModeForced, isSynchronous, shouldInvokeRemoteTxCommand, shouldTotalOrderRollbackBeInvokedRemotely, totalOrderPrepare, totalOrderTxCommit, totalOrderTxRollback, transactionRemotelyPrepared
      • Methods inherited from class org.infinispan.interceptors.DDAsyncInterceptor

        handleDefault, visitCommand, visitCommitCommand, visitDistributedExecuteCommand, visitEntrySetCommand, visitEvictCommand, visitInvalidateCommand, visitInvalidateL1Command, visitKeySetCommand, visitLockControlCommand, visitPrepareCommand, visitRollbackCommand, visitUnknownCommand
      • Methods inherited from class org.infinispan.interceptors.BaseAsyncInterceptor

        asyncInvokeNext, asyncInvokeNext, asyncValue, invokeNext, invokeNextAndExceptionally, invokeNextAndFinally, invokeNextAndHandle, invokeNextThenAccept, invokeNextThenApply, isSuccessfullyDone, makeStage, setNextInterceptor, valueOrException
      • Methods inherited from interface org.infinispan.commands.Visitor

        visitApplyDeltaCommand
    • Constructor Detail

      • UnorderedDistributionInterceptor

        public UnorderedDistributionInterceptor()
    • Method Detail

      • start

        public void start()
      • visitPutKeyValueCommand

        public Object visitPutKeyValueCommand​(org.infinispan.context.InvocationContext ctx,
                                              org.infinispan.commands.write.PutKeyValueCommand command)
        Specified by:
        visitPutKeyValueCommand in interface org.infinispan.commands.Visitor
        Overrides:
        visitPutKeyValueCommand in class org.infinispan.interceptors.distribution.NonTxDistributionInterceptor
      • visitReadWriteKeyCommand

        public Object visitReadWriteKeyCommand​(org.infinispan.context.InvocationContext ctx,
                                               org.infinispan.commands.functional.ReadWriteKeyCommand command)
        Specified by:
        visitReadWriteKeyCommand in interface org.infinispan.commands.Visitor
        Overrides:
        visitReadWriteKeyCommand in class org.infinispan.interceptors.distribution.NonTxDistributionInterceptor
      • invokeRemotelyAsync

        public Object invokeRemotelyAsync​(List<org.infinispan.remoting.transport.Address> finalOwners,
                                          org.infinispan.context.InvocationContext rCtx,
                                          org.infinispan.commands.write.WriteCommand writeCmd)