Class SpaceEngine
java.lang.Object
com.gigaspaces.internal.server.space.SpaceEngine
- All Implemented Interfaces:
ISpaceModeListener,IClusterInfoChangedListener,Remote,EventListener
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumwhy is entry removed.static enumwhy is entry removed.static enumXTN CONFLICT CHECK INDICATOR. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidabort(TransactionManager mgr, ServerTransaction st, boolean supportsTwoPhaseReplication, OperationID operationID) voidabortSA(TransactionManager mgr, ServerTransaction st, boolean fromLeaseExpiration, boolean verifyExpiredXtn, boolean supportsTwoPhaseReplication, OperationID operationID) voidafterClusterInfoChange(SpaceClusterInfo clusterInfo) Updates server side components that holds SpaceClusterInfo instances when SpaceClusterInfo changes (i.e horizontal scale event)voidafterSpaceModeChange(SpaceMode newMode) Called right after the space mode changes.aggregate(ITemplatePacket queryPacket, List<SpaceEntriesAggregator> aggregators, int readModifiers, SpaceContext sc) protected voidattachFromGatewayStateToTransactionIfNeeded(SpaceContext sc, XtnEntry txnEntry) attachToXtn(ServerTransaction txn, boolean fromReplication) Join the specified transaction, if not already joined.voidbeforeAuthentication(SecurityContext securityContext) Invokes the "before-authentication" filter.voidbeforeSpaceModeChange(SpaceMode newMode) Called right before the space mode changes.
Implementors usually use it to allow specific service initializations.change(ITemplatePacket template, Transaction txn, long lease, long timeout, SpaceContext sc, boolean fromReplication, boolean origin, Collection<SpaceEntryMutator> mutators, int operationModifiers, boolean returnOnlyUid) perform an update in place using mutatorsvoidcheckWFValidityAfterUpdate(Context context, IEntryHolder entry) update performed for an entry under xtn, if there are templates wf this entry, is there any use to keep on waiting (i.e.clear(ITemplatePacket template, Transaction txn, SpaceContext sc, int operationModifiers) voidclearDataTypeMetricRegistrarIfExists(String dataTypeName) voidclearDataTypeMetricRegistrarIfExists(String typeName, String indexName) voidclose()Closes engine, including all working groups and contexts.voidcloseServerIterator(UUID uuid) voidcommit(TransactionManager mgr, ServerTransaction st, boolean supportsTwoPhaseReplication, OperationID operationID, boolean mayBeFromReplication) count(ITemplatePacket template, Transaction txn, SpaceContext sc, int operationModifiers) intintcountTransactions(int type, int status) createTransactionDetailsString(ServerTransaction st, OperationID operationID) directLocalReadById(Object id, String typeName, QueryResultTypeInternal queryResultType) For local reads without xtn and timeout, used only in local cache, only with object reference modevoidDrop all Class entries and all its templates from the space.voidenableDuplicateExecutionProtection(OperationID operationID) voidexecuteOnMatchingEntries(Context context, ITemplateHolder template, boolean makeWaitForInfo) Searches the engine for a matching entry using the BFS tree of the specified template.extendSpaceMetricRegistrator(String prefix, Map<String, String> extraTags, Map<String, DynamicMetricTag> extraDynamicTags) voidgetAdmin(SpaceContext sc) check authority to get admin.getClassTypeInfo(String className) get the basic class info from the space directory.getClassTypeInfo(String className, boolean asVirtualType) get the list of component handlersgetDataTypeMetricRegistrar(String dataTypeName) getDataTypeMetricRegistrar(String typeName, String indexName) static EntryDeletedExceptionReturns a list of internal filters that should be used by the FilterManagerlonggetLockedObjects returns Info about all the locked Object by the given Transaction.org.slf4j.LoggergetMatchedEntryAndOperateSA(Context context, ITemplateHolder template, boolean makeWaitForInfo, boolean useSCN) Searches the engine for a matching entry using the BFS tree of the specified template.final MemoryManagergetMetricsSnapshotByPrefix(Collection<String> prefixes) intintorg.slf4j.Loggerintgets the number of this space in the partition.intintReturns the runtime information for all objects in spacegetRuntimeInfo(String typeName) Returns the runtime information for a given class and its subclassesgetTemplatesInfo(String className) getTransactionsInfo(int type, int status) Returns all the transactions that have the type and status.static TransactionConflictExceptiongetTypeTableEntry(String className) protected voidhandleExceptionOnPrepare(TransactionManager mgr, ServerTransaction st, boolean supportsTwoPhaseReplication, XtnEntry xtnEntry) booleanbooleanindicateDirtyRead(ITemplateHolder template) given an entry and a template, return true if dirty-read should be performedbooleanindicateReadCommitted(ITransactionalEntryData entry, ITemplateHolder template) given an entry and a template, return true if read-committed should be performed should be called when xtn & entry are locked (but called from count w/o locks in order not to harm performancevoidinit(boolean loadDataFromDB, boolean considerMemoryRecovery) voidinvokeFilters(SpaceContext sc, int operationCode, Object subject) booleanbooleanbooleanisClusteredExternalDBEnabled(IStorageAdapter storageAdapter) booleanbooleanisEntryFromPartition(IEntryHolder entryHolder) return true if entry belongs to the partition of the space, false if entry is not from space partitionbooleanbooleanbooleanbooleanfinal booleanbooleanbooleanbooleanisNoWriteLease(IEntryPacket entryPacket, int modifiers, boolean fromReplication) booleanreturn true if space is part of a partitioned clusterbooleanbooleanfinal booleanis sync-replication enabled for at least one member in a clustered space.newAdaptUpdateMultiple(IEntryPacket[] entries, Transaction txn, long lease, long[] leases, SpaceContext sc, long timeout, int modifiers) newUpdateMultiple(IEntryPacket[] entries, Transaction txn, long[] leases, SpaceContext sc, long timeout, int operationModifiers) perform update of multiple entries.notify(ITemplatePacket template, long lease, boolean fromReplication, String templateUid, SpaceContext sc, NotifyInfo info) oldAdaptUpdateMultiple(IEntryPacket[] entries, Transaction txn, long lease, long[] leases, SpaceContext sc, int modifiers, boolean newRouter) intperformReplication(Context context) perform sync replication from sync-packets list or a single sync-packet contained in the context.voidperformTemplateOnEntrySA(Context context, ITemplateHolder template, IEntryHolder entry, boolean makeWaitForInfo) try to process an entry , if the entry has a shadow try it too if the entry don't suiteintprepare(TransactionManager mgr, ServerTransaction st, boolean singleParticipant, boolean supportsTwoPhaseReplication, OperationID operationID) intprepareAndCommit(TransactionManager mgr, ServerTransaction st, OperationID operationID) Prepare and commit the transaction - called for single participant transaction or transaction without changesread(ITemplatePacket template, Transaction txn, long timeout, boolean ifExists, boolean take, SpaceContext sc, boolean returnOnlyUid, boolean fromReplication, boolean origin, int operationModifiers) readMultiple(ITemplatePacket template, Transaction txn, long timeout, boolean ifExists, boolean take, SpaceContext sc, boolean returnOnlyUid, int operationModifiers, BatchQueryOperationContext batchOperationContext, List<SpaceEntriesAggregator> aggregators, ServerIteratorRequestInfo serverIteratorRequestInfo) voidregisterLocalView(ITemplatePacket[] queryPackets, Collection<SpaceQueryDetails> queryDescriptions, RouterStubHolder viewStub, int batchSize, long batchTimeout, SpaceContext spaceContext) voidregisterTypeDesc(ITypeDesc typeDesc, boolean fromGateway) Attempts to register the providedITypeDescinstance and replicate the operation if necessary.voidremoveEntrySA(Context context, IEntryHolder entry, boolean fromReplication, boolean origin, boolean ofReplicatableClass, SpaceEngine.EntryRemoveReasonCodes removeReason, boolean disableReplication, boolean disableProcessorCall, boolean disableSADelete) voidremoveEntrySA(Context context, IEntryHolder entry, IServerTypeDesc typeDesc, boolean fromReplication, boolean origin, SpaceEngine.EntryRemoveReasonCodes removeReason) Delete an entry (direct delete).voidremoveEntrySA(Context context, IEntryHolder entry, IServerTypeDesc typeDesc, boolean fromReplication, boolean origin, SpaceEngine.EntryRemoveReasonCodes removeReason, boolean disableReplication, boolean disableProcessorCall, boolean disableSADelete) Delete an entry (direct delete).voidrenewServerIteratorLease(UUID uuid) voidrollbackCopyReplica(ISpaceCopyResult replicaResult) voidsetLastEntryTimestamp(long timestamp) voidbooleanshouldReplicate(ReplicationOperationType operType, boolean ofReplicatableClass, boolean disableReplication, boolean fromReplication) booleanshouldReplicate(ReplicationOperationType operType, IServerTypeDesc serverTypeDesc, boolean disableReplication, boolean fromReplication) booleanskipBroadcastTable(Context context, ITemplateHolder template) voidsnapshot(ITemplatePacket entryPacket) Return a snapshot of the given entry.spaceBroadcastNotifyTemplatesReplica(SpaceURL sourceRemoteUrl, int chunkSize, boolean transientOnly) spaceCopyReplica(SpaceURL sourceRemoteUrl, String sourceMemberName, IRemoteSpace remoteJSpace, ITemplatePacket templPacket, boolean includeNotifyTemplates, int chunkSize, SpaceContext sc, SpaceContext remoteSpaceContext) spaceSynchronizeReplica(SpaceURL sourceRemoteUrl, int chunkSize, boolean transientOnly, boolean memoryOnly) booleanReturns true if this cluster topology supports guaranteed notifications.voidvoidunregisterLocalView(String viewStubHolderName) update(IEntryPacket updated_entry, Transaction txn, long lease, long timeout, SpaceContext sc, boolean fromReplication, boolean origin, boolean newRouter, int modifiers) perform an update operation- make it atomic NOTE- returnonlyUID is ignoredupdate(IEntryPacket updated_entry, Transaction txn, long lease, long timeout, SpaceContext sc, boolean fromReplication, boolean origin, boolean newRouter, int modifiers, MultipleIdsContext multipleIdsContext) Object[]updateMultiple(IEntryPacket[] entries, Transaction txn, long[] leases, SpaceContext sc, int operationModifiers, boolean newRouter) perform update of multiple entries.voidupdateObjectTypeReadCounts(IServerTypeDesc serverTypeDesc) updateOrWrite(UpdateOrWriteContext ctx, boolean newRouter) updateOrWrite(UpdateOrWriteContext ctx, boolean fromReplication, boolean origin, boolean newRouter) voidupdateTieredRAMObjectTypeReadCounts(IServerTypeDesc serverTypeDesc, TemplateMatchTier templateTieredState) voidWait until the engine is a consistent state, which means it has no pending operations that will be lost when closing the enginewrite(IEntryPacket[] entryPackets, Transaction txn, long lease, long[] leases, int modifiers, SpaceContext sc, long timeout, boolean newRouter) Creates IEntryHolder objects from the specified entry packets and inserts them into all relevant engine tables.write(IEntryPacket entryPacket, Transaction txn, long lease, int modifiers, boolean fromReplication, boolean origin, SpaceContext sc) Creates an IEntryHolder object from the specified entry packet and inserts it into all relevant engine tables.
-
Constructor Details
-
SpaceEngine
- Throws:
CreateExceptionRemoteException
-
-
Method Details
-
getTieredStorageManager
-
extendSpaceMetricRegistrator
public MetricRegistrator extendSpaceMetricRegistrator(String prefix, Map<String, String> extraTags, Map<String, DynamicMetricTag> extraDynamicTags) -
init
- Throws:
CreateException
-
getTemplateScanner
-
getSpaceImpl
-
getOperationLogger
public org.slf4j.Logger getOperationLogger() -
getConfigReader
-
getTypeManager
-
getFilterManager
-
getLeaseManager
-
getEntryArrivedPacketsFactory
-
getEntryDataType
-
getProcessorWG
-
invokeFilters
-
write
public WriteEntryResult write(IEntryPacket entryPacket, Transaction txn, long lease, int modifiers, boolean fromReplication, boolean origin, SpaceContext sc) throws TransactionException, UnusableEntryException, UnknownTypeException, RemoteException Creates an IEntryHolder object from the specified entry packet and inserts it into all relevant engine tables. if entryPacket.NoWriteLease=true the return value will be Entry UID(String) of Entry, otherwise Lease object. -
isNoWriteLease
-
notify
public GSEventRegistration notify(ITemplatePacket template, long lease, boolean fromReplication, String templateUid, SpaceContext sc, NotifyInfo info) throws TransactionException, UnusableEntryException, UnknownTypeException, RemoteException -
read
public AnswerHolder read(ITemplatePacket template, Transaction txn, long timeout, boolean ifExists, boolean take, SpaceContext sc, boolean returnOnlyUid, boolean fromReplication, boolean origin, int operationModifiers) throws TransactionException, UnusableEntryException, UnknownTypeException, RemoteException, InterruptedException -
isNonBlockingReadForOperation
-
snapshot
Return a snapshot of the given entry.Note: Snapshot doesn't finalize FIFO indicator and thus no InvalidFifoException is thrown.
- Throws:
UnusableEntryException
-
write
public WriteEntriesResult write(IEntryPacket[] entryPackets, Transaction txn, long lease, long[] leases, int modifiers, SpaceContext sc, long timeout, boolean newRouter) throws TransactionException, RemoteException, UnknownTypesException Creates IEntryHolder objects from the specified entry packets and inserts them into all relevant engine tables. if entryPacket.NoWriteLease=true the return value will be Entry UID(String) of Entry, otherwise Lease object. -
oldAdaptUpdateMultiple
public WriteEntriesResult oldAdaptUpdateMultiple(IEntryPacket[] entries, Transaction txn, long lease, long[] leases, SpaceContext sc, int modifiers, boolean newRouter) throws RemoteException, TransactionException, UnknownTypesException -
newAdaptUpdateMultiple
public AnswerHolder newAdaptUpdateMultiple(IEntryPacket[] entries, Transaction txn, long lease, long[] leases, SpaceContext sc, long timeout, int modifiers) throws RemoteException, TransactionException, UnknownTypesException -
updateObjectTypeReadCounts
-
updateTieredRAMObjectTypeReadCounts
public void updateTieredRAMObjectTypeReadCounts(IServerTypeDesc serverTypeDesc, TemplateMatchTier templateTieredState) -
readMultiple
public AnswerHolder readMultiple(ITemplatePacket template, Transaction txn, long timeout, boolean ifExists, boolean take, SpaceContext sc, boolean returnOnlyUid, int operationModifiers, BatchQueryOperationContext batchOperationContext, List<SpaceEntriesAggregator> aggregators, ServerIteratorRequestInfo serverIteratorRequestInfo) throws TransactionException, UnusableEntryException, UnknownTypeException, RemoteException, InterruptedException -
attachFromGatewayStateToTransactionIfNeeded
-
count
public Pair<Integer,SingleExplainPlan> count(ITemplatePacket template, Transaction txn, SpaceContext sc, int operationModifiers) throws UnusableEntryException, UnknownTypeException, TransactionException, RemoteException -
clear
public Pair<Integer,SingleExplainPlan> clear(ITemplatePacket template, Transaction txn, SpaceContext sc, int operationModifiers) throws UnusableEntryException, UnknownTypeException, TransactionException, RemoteException -
update
public ExtendedAnswerHolder update(IEntryPacket updated_entry, Transaction txn, long lease, long timeout, SpaceContext sc, boolean fromReplication, boolean origin, boolean newRouter, int modifiers) throws UnusableEntryException, UnknownTypeException, TransactionException, RemoteException, InterruptedException perform an update operation- make it atomic NOTE- returnonlyUID is ignored -
update
public ExtendedAnswerHolder update(IEntryPacket updated_entry, Transaction txn, long lease, long timeout, SpaceContext sc, boolean fromReplication, boolean origin, boolean newRouter, int modifiers, MultipleIdsContext multipleIdsContext) throws UnusableEntryException, UnknownTypeException, TransactionException, RemoteException, InterruptedException -
updateOrWrite
public ExtendedAnswerHolder updateOrWrite(UpdateOrWriteContext ctx, boolean newRouter) throws TransactionException, UnusableEntryException, UnknownTypeException, RemoteException, InterruptedException -
updateOrWrite
public ExtendedAnswerHolder updateOrWrite(UpdateOrWriteContext ctx, boolean fromReplication, boolean origin, boolean newRouter) throws TransactionException, UnusableEntryException, UnknownTypeException, RemoteException, InterruptedException -
change
public ExtendedAnswerHolder change(ITemplatePacket template, Transaction txn, long lease, long timeout, SpaceContext sc, boolean fromReplication, boolean origin, Collection<SpaceEntryMutator> mutators, int operationModifiers, boolean returnOnlyUid) throws UnusableEntryException, UnknownTypeException, TransactionException, RemoteException, InterruptedException perform an update in place using mutators -
updateMultiple
public Object[] updateMultiple(IEntryPacket[] entries, Transaction txn, long[] leases, SpaceContext sc, int operationModifiers, boolean newRouter) throws UnusableEntryException, UnknownTypeException, TransactionException, RemoteException perform update of multiple entries. the entries array contains the entries to update, each entry must contain a UID and (optionally) a versionID NOTE- returnonlyUID is ignored -
newUpdateMultiple
public AnswerHolder newUpdateMultiple(IEntryPacket[] entries, Transaction txn, long[] leases, SpaceContext sc, long timeout, int operationModifiers) throws UnusableEntryException, UnknownTypeException, TransactionException, RemoteException, InterruptedException perform update of multiple entries. the entries array contains the entries to update, each entry must contain a UID and (optionally) a versionID NOTE- returnonlyUID is ignored -
getRuntimeInfo
Returns the runtime information for all objects in space -
getRuntimeInfo
Returns the runtime information for a given class and its subclasses- Parameters:
typeName- the name of the class
-
createUIDFromCounter
-
dropClass
Drop all Class entries and all its templates from the space. Calling this method will remove all internal meta data related to this class stored in the space. When using persistent spaced the relevant RDBMS table will be dropped. It is the caller responsibility to ensure that no entries from this class are written to the space while this method is called. This method is protected through the space Default Security Filter. Admin permissions required to execute this request successfully.- Parameters:
className- - name of class to delete.- Throws:
DropClassException
-
prepare
public int prepare(TransactionManager mgr, ServerTransaction st, boolean singleParticipant, boolean supportsTwoPhaseReplication, OperationID operationID) throws UnknownTransactionException, RemoteException -
handleExceptionOnPrepare
protected void handleExceptionOnPrepare(TransactionManager mgr, ServerTransaction st, boolean supportsTwoPhaseReplication, XtnEntry xtnEntry) throws RemoteException - Throws:
RemoteException
-
prepareAndCommit
public int prepareAndCommit(TransactionManager mgr, ServerTransaction st, OperationID operationID) throws UnknownTransactionException, RemoteException Prepare and commit the transaction - called for single participant transaction or transaction without changes -
commit
public void commit(TransactionManager mgr, ServerTransaction st, boolean supportsTwoPhaseReplication, OperationID operationID, boolean mayBeFromReplication) throws UnknownTransactionException, RemoteException -
createTransactionDetailsString
-
abort
public void abort(TransactionManager mgr, ServerTransaction st, boolean supportsTwoPhaseReplication, OperationID operationID) throws UnknownTransactionException - Throws:
UnknownTransactionException
-
getTemplatesInfo
-
getTransactionsInfo
Returns all the transactions that have the type and status.- Parameters:
type- TransactionInfo.LOCAL, TransactionInfo.JINI or TransactionInfo.XAstatus- TransactionConstants- Returns:
- array of TransactionInfo
- Throws:
RemoteException
-
countTransactions
- Throws:
RemoteException
-
getLockedObjects
getLockedObjects returns Info about all the locked Object by the given Transaction.- Parameters:
txn- - the Transaction that locks the Objects.- Returns:
- List of UnderTxnLockedObject
- Throws:
RemoteException
-
getTypeTableEntry
-
waitForConsistentState
public void waitForConsistentState()Wait until the engine is a consistent state, which means it has no pending operations that will be lost when closing the engine -
getMetricsSnapshotByPrefix
-
close
public void close()Closes engine, including all working groups and contexts. -
getMatchedEntryAndOperateSA
public IEntryHolder getMatchedEntryAndOperateSA(Context context, ITemplateHolder template, boolean makeWaitForInfo, boolean useSCN) throws TransactionException, TemplateDeletedException, SAException Searches the engine for a matching entry using the BFS tree of the specified template. If a matched entry is found, perform template on entry and return reference to entry. Otherwise, returnnull. Handles also null templates. -
executeOnMatchingEntries
public void executeOnMatchingEntries(Context context, ITemplateHolder template, boolean makeWaitForInfo) throws TransactionException, TemplateDeletedException, SAException Searches the engine for a matching entry using the BFS tree of the specified template. If a matched entry is found, perform template on entry and return reference to entry. Otherwise, return empty Collection. Handles also null templates. -
skipBroadcastTable
-
hasMirror
public boolean hasMirror()- Returns:
-
performTemplateOnEntrySA
public void performTemplateOnEntrySA(Context context, ITemplateHolder template, IEntryHolder entry, boolean makeWaitForInfo) throws TransactionConflictException, EntryDeletedException, TemplateDeletedException, TransactionNotActiveException, SAException, NoMatchException, FifoException try to process an entry , if the entry has a shadow try it too if the entry don't suite -
indicateReadCommitted
given an entry and a template, return true if read-committed should be performed should be called when xtn & entry are locked (but called from count w/o locks in order not to harm performance -
indicateDirtyRead
given an entry and a template, return true if dirty-read should be performed -
checkWFValidityAfterUpdate
update performed for an entry under xtn, if there are templates wf this entry, is there any use to keep on waiting (i.e. is there still a match with master or shadow ?) NOTE: entry is locked while calling this routine- Throws:
SAException
-
attachToXtn
public XtnEntry attachToXtn(ServerTransaction txn, boolean fromReplication) throws TransactionException, RemoteException Join the specified transaction, if not already joined.- Parameters:
txn- the transaction to join- Throws:
TransactionExceptionRemoteException
-
removeEntrySA
public void removeEntrySA(Context context, IEntryHolder entry, IServerTypeDesc typeDesc, boolean fromReplication, boolean origin, SpaceEngine.EntryRemoveReasonCodes removeReason) throws SAException Delete an entry (direct delete). Assumes the specified entry is locked.- Throws:
SAException
-
removeEntrySA
public void removeEntrySA(Context context, IEntryHolder entry, IServerTypeDesc typeDesc, boolean fromReplication, boolean origin, SpaceEngine.EntryRemoveReasonCodes removeReason, boolean disableReplication, boolean disableProcessorCall, boolean disableSADelete) throws SAException Delete an entry (direct delete). Assumes the specified entry is locked.- Throws:
SAException
-
removeEntrySA
public void removeEntrySA(Context context, IEntryHolder entry, boolean fromReplication, boolean origin, boolean ofReplicatableClass, SpaceEngine.EntryRemoveReasonCodes removeReason, boolean disableReplication, boolean disableProcessorCall, boolean disableSADelete) throws SAException - Throws:
SAException
-
isReplicated
public boolean isReplicated() -
isReplicatedPersistentBlobstore
public boolean isReplicatedPersistentBlobstore() -
abortSA
public void abortSA(TransactionManager mgr, ServerTransaction st, boolean fromLeaseExpiration, boolean verifyExpiredXtn, boolean supportsTwoPhaseReplication, OperationID operationID) throws UnknownTransactionException - Throws:
UnknownTransactionException
-
getTransaction
- Parameters:
st-- Returns:
-
aggregate
public AnswerHolder aggregate(ITemplatePacket queryPacket, List<SpaceEntriesAggregator> aggregators, int readModifiers, SpaceContext sc) throws Exception - Throws:
Exception
-
countIncomingConnections
- Throws:
RemoteException
-
getIteratorsManager
-
getMetricManager
-
afterClusterInfoChange
Description copied from interface:IClusterInfoChangedListenerUpdates server side components that holds SpaceClusterInfo instances when SpaceClusterInfo changes (i.e horizontal scale event)- Specified by:
afterClusterInfoChangein interfaceIClusterInfoChangedListener
-
getAdmin
check authority to get admin.- Throws:
RemoteException
-
getClusterPolicy
-
beforeAuthentication
Invokes the "before-authentication" filter.- Throws:
RemoteException
-
spaceCopyReplica
public ISpaceCopyReplicaState spaceCopyReplica(SpaceURL sourceRemoteUrl, String sourceMemberName, IRemoteSpace remoteJSpace, ITemplatePacket templPacket, boolean includeNotifyTemplates, int chunkSize, SpaceContext sc, SpaceContext remoteSpaceContext) -
generateGroupName
-
spaceSynchronizeReplica
public ISpaceSynchronizeReplicaState spaceSynchronizeReplica(SpaceURL sourceRemoteUrl, int chunkSize, boolean transientOnly, boolean memoryOnly) -
spaceBroadcastNotifyTemplatesReplica
public ISpaceCopyReplicaState spaceBroadcastNotifyTemplatesReplica(SpaceURL sourceRemoteUrl, int chunkSize, boolean transientOnly) throws InterruptedException - Throws:
InterruptedException
-
rollbackCopyReplica
-
getClassTypeInfo
get the basic class info from the space directory. -
getClassTypeInfo
-
isSyncReplicationEnabled
public final boolean isSyncReplicationEnabled()is sync-replication enabled for at least one member in a clustered space. -
isMirrorService
public final boolean isMirrorService()- Returns:
trueif this space serves as MirrorService to receive async bulk operations to be saved into persistent cache adaptor.
-
performReplication
perform sync replication from sync-packets list or a single sync-packet contained in the context. -
isEntryFromPartition
return true if entry belongs to the partition of the space, false if entry is not from space partition- Parameters:
entryHolder- - to check- Returns:
- true if entry belong to space partition
-
isPartitionedSpace
public boolean isPartitionedSpace()return true if space is part of a partitioned cluster- Returns:
- return true if space is part of a partition
-
getCacheManager
-
getMemoryManager
-
getComponentsHandlers
get the list of component handlers -
getNumberOfPartitions
public int getNumberOfPartitions()- Returns:
- the number of partitions in the static cluster.
-
getPartitionRoutingInfo
-
getPartitionIdOneBased
public int getPartitionIdOneBased()gets the number of this space in the partition. starting from 1. returns 0 in case the cluster is not partitioned- Returns:
- the number of Partition
-
getPartitionIdZeroBased
public int getPartitionIdZeroBased()- Returns:
- Gets the number of this space in the partition (zero based)
-
getSpaceName
-
getFullSpaceName
-
getLastEntryTimestamp
public long getLastEntryTimestamp() -
setLastEntryTimestamp
public void setLastEntryTimestamp(long timestamp) -
touchLastEntryTimestamp
public void touchLastEntryTimestamp() -
isColdStart
public boolean isColdStart() -
isMemoryRecoveryEnabled
public boolean isMemoryRecoveryEnabled() -
getTransactionHandler
- Returns:
- the transactionHandler
-
getInternalFilters
Returns a list of internal filters that should be used by the FilterManager -
supportsGuaranteedNotifications
public boolean supportsGuaranteedNotifications()Returns true if this cluster topology supports guaranteed notifications. It is supported only for primary/backup topologies. -
directLocalReadById
public Object directLocalReadById(Object id, String typeName, QueryResultTypeInternal queryResultType) For local reads without xtn and timeout, used only in local cache, only with object reference mode -
shouldReplicate
public boolean shouldReplicate(ReplicationOperationType operType, IServerTypeDesc serverTypeDesc, boolean disableReplication, boolean fromReplication) -
shouldReplicate
public boolean shouldReplicate(ReplicationOperationType operType, boolean ofReplicatableClass, boolean disableReplication, boolean fromReplication) -
getReplicationNode
-
isCleanUnusedEmbeddedGlobalXtns
public boolean isCleanUnusedEmbeddedGlobalXtns() -
afterSpaceModeChange
Description copied from interface:ISpaceModeListenerCalled right after the space mode changes.
Implementors usually use it to invoke any needed services.- Specified by:
afterSpaceModeChangein interfaceISpaceModeListener- Parameters:
newMode- the new mode change after it was published.
-
beforeSpaceModeChange
Description copied from interface:ISpaceModeListenerCalled right before the space mode changes.
Implementors usually use it to allow specific service initializations.- Specified by:
beforeSpaceModeChangein interfaceISpaceModeListener- Parameters:
newMode- the new mode change before it's published.
-
isClusteredExternalDBEnabled
-
getUnhealthyReasons
-
getReplicationManager
-
getProcessorQueueSize
public int getProcessorQueueSize() -
getNotifierQueueSize
public int getNotifierQueueSize() -
generateUid
-
setReplicationUnhealthyReason
-
getConflictingOperationPolicy
-
getFifoGroupsHandler
-
enableDuplicateExecutionProtection
-
isExpiredEntryStayInSpace
-
isFailOverDuringRecovery
public boolean isFailOverDuringRecovery() -
isLocalCache
public boolean isLocalCache() -
registerTypeDesc
public void registerTypeDesc(ITypeDesc typeDesc, boolean fromGateway) throws DetailedUnusableEntryException Attempts to register the providedITypeDescinstance and replicate the operation if necessary.- Throws:
DetailedUnusableEntryException
-
getLocalViewRegistrations
-
getMetricRegistrator
-
getDataTypeMetricRegistrar
-
clearDataTypeMetricRegistrarIfExists
-
getDataTypeMetricRegistrar
-
clearDataTypeMetricRegistrarIfExists
-
registerLocalView
public void registerLocalView(ITemplatePacket[] queryPackets, Collection<SpaceQueryDetails> queryDescriptions, RouterStubHolder viewStub, int batchSize, long batchTimeout, SpaceContext spaceContext) throws UnusableEntryException, UnknownTypeException -
unregisterLocalView
-
isBlobStorePersistent
public boolean isBlobStorePersistent() -
getClusterInfo
-
closeServerIterator
-
renewServerIteratorLease
-
isMvccEnabled
public boolean isMvccEnabled() -
getMVCCHandler
-
getEntryDeletedException
-
getTxConflictException
-
getLogger
public org.slf4j.Logger getLogger()
-