예제 #1
0
        protected override bool IsStaleRead(IData key, NearCacheRecord record)
        {
            if (_repairingHandler == null)
            {
                return(false);
            }
            var latestMetaData = _repairingHandler.GetMetaDataContainer(record.PartitionId);

            return(record.Guid != latestMetaData.Guid || record.Sequence < latestMetaData.StaleSequence);
        }
예제 #2
0
        private void InitInvalidationMetadata(NearCacheRecord newRecord)
        {
            if (_repairingHandler == null)
            {
                return;
            }
            var partitionId       = Client.GetClientPartitionService().GetPartitionId(newRecord.Key);
            var metadataContainer = _repairingHandler.GetMetaDataContainer(partitionId);

            newRecord.PartitionId = partitionId;
            newRecord.Sequence    = metadataContainer.Sequence;
            newRecord.Guid        = metadataContainer.Guid;
        }
예제 #3
0
        private bool IsRecordExpired(NearCacheRecord record)
        {
            var now = Clock.CurrentTimeMillis();

            return(record.IsExpiredAt(now) || record.IsIdleAt(_maxIdleMillis, now));
        }
예제 #4
0
 protected virtual bool IsStaleRead(IData key, NearCacheRecord record)
 {
     return(false);
 }