예제 #1
0
 public override void UpdatedCurrentPeakSize(int currentPeakSize)
 {
     if (_lastCurrentPeakSize != currentPeakSize)
     {
         _msgLog.debug("ResourcePool updated currentPeakSize to " + currentPeakSize);
         _lastCurrentPeakSize = currentPeakSize;
     }
 }
예제 #2
0
        public override void Run()
        {
            using (DurationLogger durationLogger = new DurationLogger(_log, "Sampling index " + _indexUserDescription))
            {
                try
                {
                    using (IndexReader reader = _indexProxy.newReader(), IndexSampler sampler = reader.CreateSampler())
                    {
                        IndexSample sample = sampler.SampleIndex();

                        // check again if the index is online before saving the counts in the store
                        if (_indexProxy.State == ONLINE)
                        {
                            _storeView.replaceIndexCounts(_indexId, sample.UniqueValues(), sample.SampleSize(), sample.IndexSize());
                            durationLogger.MarkAsFinished();
                            _log.debug(format("Sampled index %s with %d unique values in sample of avg size %d taken from " + "index containing %d entries", _indexUserDescription, sample.UniqueValues(), sample.SampleSize(), sample.IndexSize()));
                        }
                        else
                        {
                            durationLogger.MarkAsAborted("Index no longer ONLINE");
                        }
                    }
                }
                catch (IndexNotFoundKernelException)
                {
                    durationLogger.MarkAsAborted("Attempted to sample missing/already deleted index " + _indexUserDescription);
                }
            }
        }
예제 #3
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: public void encode(org.neo4j.bolt.messaging.Neo4jPack_Packer packer, org.neo4j.bolt.v1.messaging.response.FailureMessage message) throws java.io.IOException
        public override void Encode(Org.Neo4j.Bolt.messaging.Neo4jPack_Packer packer, FailureMessage message)
        {
            if (message is FatalFailureMessage)
            {
                _log.debug("Encoding a fatal failure message to send. Message: %s", message);
            }
            EncodeFailure(message, packer);
        }
예제 #4
0
 public override void EventCount(long count)
 {
     if (_metaLog.DebugEnabled)
     {
         if (count > _highCount)
         {
             _metaLog.debug("High mark increasing from %d to %d events", _highCount, count);
             _highCount = count;
         }
     }
 }
예제 #5
0
        public override void Close()
        {
            long end      = DateTimeHelper.CurrentUnixTimeMillis();
            long duration = end - _start;

            if (string.ReferenceEquals(_outcome, null))
            {
                _log.debug(format("Finished: %s in %d ms", _tag, duration));
            }
            else
            {
                _log.warn(format("%s: %s in %d ms", _outcome, _tag, duration));
            }
        }
예제 #6
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: protected void channelRead0(io.netty.channel.ChannelHandlerContext ctx, final TxPullRequest msg) throws Exception
//JAVA TO C# CONVERTER WARNING: 'final' parameters are ignored unless the option to convert to C# 7.2 'in' parameters is selected:
        protected internal override void ChannelRead0(ChannelHandlerContext ctx, TxPullRequest msg)
        {
            _monitor.increment();

            if (msg.PreviousTxId() <= 0)
            {
                _log.error("Illegal tx pull request");
                EndInteraction(ctx, E_INVALID_REQUEST, -1);
                return;
            }

            StoreId localStoreId    = _storeIdSupplier.get();
            StoreId expectedStoreId = msg.ExpectedStoreId();

            long firstTxId = msg.PreviousTxId() + 1;

            /*
             * This is the minimum transaction id we must send to consider our streaming operation successful. The kernel can
             * concurrently prune even future transactions while iterating and the cursor will silently fail on iteration, so
             * we need to add our own protection for this reason and also as a generally important sanity check for the fulfillment
             * of the consistent recovery contract which requires us to stream transactions at least as far as the time when the
             * file copy operation completed.
             */
            long txIdPromise = _transactionIdStore.LastCommittedTransactionId;
            IOCursor <CommittedTransactionRepresentation> txCursor = GetCursor(txIdPromise, ctx, firstTxId, localStoreId, expectedStoreId);

            if (txCursor != null)
            {
                ChunkedTransactionStream txStream = new ChunkedTransactionStream(_log, localStoreId, firstTxId, txIdPromise, txCursor, _protocol);
                // chunked transaction stream ends the interaction internally and closes the cursor
                ctx.writeAndFlush(txStream).addListener(f =>
                {
                    if (_log.DebugEnabled || !f.Success)
                    {
                        string message = format("Streamed transactions [%d--%d] to %s", firstTxId, txStream.LastTxId(), ctx.channel().remoteAddress());
                        if (f.Success)
                        {
                            _log.debug(message);
                        }
                        else
                        {
                            _log.warn(message, f.cause());
                        }
                    }
                });
            }
        }
예제 #7
0
 public override void StartTryCheckPoint(string storeCopyIdentifier)
 {
     Log.debug("%s: try to checkpoint before sending store.", storeCopyIdentifier);
 }