Exemplo n.º 1
0
        public override void ResetLeasable()
        {
            base.ResetLeasable();

            _hints?.Clear();
            _expiringHint = null;
            _hintType     = ExpirationHintType.AggregateExpirationHint;
        }
Exemplo n.º 2
0
 public void Rollback(ITransaction transaction)
 {
     try
     {
         _tree.Rollback();
         appliedOps.Clear();
     }
     catch (Exception ex)
     {
         if (LoggerManager.Instance.IndexLogger != null)
         {
             LoggerManager.Instance.IndexLogger.Error("BPlusIndex",
                                                      "Error Code: " + ErrorCodes.Indexes.TREE_ROLLBACK_FAILURE + " - " + ex.ToString());
             throw new IndexException(ErrorCodes.Indexes.TREE_ROLLBACK_FAILURE);
         }
     }
 }
Exemplo n.º 3
0
 public void Clear()
 {
     _results.Clear();
 }
Exemplo n.º 4
0
        private StateTxfrInfo TransferBucket(ArrayList bucketIds, bool sparsedBuckets, int expectedTxfrId)
        {
            if (sparsedBuckets)
            {
                return(new StateTxfrInfo(true));
            }
            else
            {
                if (bucketIds != null && bucketIds.Count > 0)
                {
                    if (!(_currentBucket == (int)bucketIds[0]))
                    {
                        if (LoggerManager.Instance.StateXferLogger != null && LoggerManager.Instance.StateXferLogger.IsDebugEnabled)
                        {
                            LoggerManager.Instance.StateXferLogger.Debug(loggingModule + ".TxfrBucket", "bucketid : " + bucketIds[0] + " exptxfrId : " + expectedTxfrId);
                        }

                        _lastTxfrId = expectedTxfrId;
                        //request for a new bucket. get its key list from parent.
                        _currentBucket = (int)bucketIds[0];

                        //these are comment out becoz enable log flag has been passed on Get Keys for bucket call from requesting shard
                        ///bool enableLogs = _transferType == StateTransferType.MOVE_DATA ? true : false;
                        //_keyList = GetKeyList(_currentBucket, enableLogs) as ClusteredArrayList;

                        //bool enableLogs = corresponderIdentity.Type == StateTransferType.INTRA_SHARD ? true : false;


                        //Need to reset data-structures for next bucket transfer
                        _currentBucketkeys.Clear();
                        _sentKeysCount = 0;

                        //STD: Start Bucket Logging if enable
                        if (corresponderIdentity.Type == StateTransferType.INTER_SHARD)
                        {
                            _startedFrom = StartLoggingOnSource(_currentBucket);
                        }

                        _currentBucketkeys.AddRange(GetBucketKeys(_currentBucket)); //.Clone() as ClusteredList<DocumentKey>;

                        _logableBuckets.Add(_currentBucket);

                        //muds:
                        //reset the _lastLogTblCount
                        //_sendLogData = false;
                    }
                    else
                    {
                        if (LoggerManager.Instance.StateXferLogger != null && LoggerManager.Instance.StateXferLogger.IsDebugEnabled)
                        {
                            LoggerManager.Instance.StateXferLogger.Debug(loggingModule + ".TxfrBucket", "bucketid : " + bucketIds[0] + " exptxfrId : " + expectedTxfrId);
                        }

                        //remove all the last sent keys from keylist that has not been
                        //modified during this time.
                        if (_currentBucketkeys != null && expectedTxfrId > _lastTxfrId)
                        {
                            //lock (_currentBucketkeys)
                            //{
                            //    _currentBucketkeys.RemoveRange(0, _sentKeysCount);
                            //    _sentKeysCount = 0;
                            //}
                            _lastTxfrId = expectedTxfrId;
                        }
                    }
                }
                else
                {
                    return(new StateTxfrInfo(new HashVector(), true, 0));//,null);
                }

                //muds:
                //take care that we need to send data in chunks if
                //bucket is too large.
                return(GetData(_currentBucket));
            }
        }