All issues

TcpConnection not correctly maintaining the idle queue in case of close
INSPECTIT-2574
Broken connection stream causes multiple errors on the agent and CMR
INSPECTIT-2568
Getting exception ' ERROR va.hooking.impl.HookDispatcher - An error happened in the Hook Dispatcher! (after special method)'
INSPECTIT-2566
UI frozen on OSX High Sierra
INSPECTIT-2560
Agent can not be launched with the Java 9
INSPECTIT-2544
DiagnoseIT jar not included in the server manifest
INSPECTIT-2535
Some service calls of the inspectIT UI to the CMR resulting in a dead-locked dialog
INSPECTIT-2495
Connection can hang when output stream idle queue is empty
INSPECTIT-2489
Usability problems in inspectIT UI with macosx 10.12.5
INSPECTIT-2471
DecodingHtmlScriptInjectorTest fails with java 8
INSPECTIT-2464
Invocations from an alert can not be shown
INSPECTIT-2437
Remote profiles should be default
INSPECTIT-2423
Agent throws ClassCastException when performing a remote call
INSPECTIT-2409
Piccolo fails the WebSphere initialization
INSPECTIT-2373
Agent spins CPU without delay when CMR connection is lost
INSPECTIT-2346
Unit-tests of the agents are not executed in the gradle-build process
INSPECTIT-2303
Migration of configuration files does not increase version number
INSPECTIT-2290
Agent cannot start if custom Logging Module is used in JBoss
INSPECTIT-2255
"Could not determine the location of the Agent Jar"
INSPECTIT-2229
Milestone 1 - Dashboard
INSPECTIT-2217
TCP Connection Exception after agents have already be connected to CMR
INSPECTIT-2213
Create Blog Post about features of 1.6 stable version
INSPECTIT-2167
Startup on IBM server fails due to ClassNotFoundException
INSPECTIT-2149
Possibility of complete lock of the threads responsible for sending the classes to the CMR
INSPECTIT-2143
Provide XML migration between different schemas
INSPECTIT-2113
Fix installers after switch to Gradle
INSPECTIT-2107
Move license for all components to Apache V2
INSPECTIT-2088
Memory leak on Agent when connection to the CMR is not available
INSPECTIT-2065
Update Apache Commons Collections
INSPECTIT-2057
DB is increasing in size, even though nothing is in there
INSPECTIT-2029
Reflectasm can not be used for ReflectionCache
INSPECTIT-2028
Agent does not start with the Java 5 due to updates in the Spring project
INSPECTIT-2023
Class loading delegation needs to be active for java.lang.ClassLoader as well
INSPECTIT-2000
Services not responsive enough under certain load
INSPECTIT-1976
Integration tests for the KryoNet communication
INSPECTIT-1937
SpanStoreRunnable should delegate equals and hashCode to wrapped Runnable
INSPECTIT-2567
Agent sends nulls in the collection of read class methods
INSPECTIT-2561
NPE in EUM Point builder
INSPECTIT-2555
Diagnosis service sometimes fails to conduct analysis
INSPECTIT-2543
Extracting attributes and parameters from HTTP requests should be optional
INSPECTIT-2533
EUM PageLoad spans disappear when they don't have a backend span
INSPECTIT-2529
Add option to respect Do-Not-Track Header to EUM
INSPECTIT-2527
inspectIT agent 1.6.8.8.2 fatal error on Jboss43cp09 jdk 1.5.0_22
INSPECTIT-2525
Method occurs multiple times and is registered twice
INSPECTIT-2517
Failing test AgentStatusDataProviderTest$HandleKeepAliveSignal.neverConnected
INSPECTIT-2514
Setup Jenkins task for pushing the Agent SDK to Maven Central
INSPECTIT-2511
Support for asynchronous tracing based on ScheduledExecutorService
INSPECTIT-2510
Request forwarding is not traced correctly
INSPECTIT-2505
Update to opentracing.io API version 0.30.0
INSPECTIT-2503
Fix asynchronous spans capturing and displaying in the UI
INSPECTIT-2500
issue 1 of 706

TcpConnection not correctly maintaining the idle queue in case of close

Description

If the connection is closed and one of the output streams is not in the idle queue, but it the writing queue, then this stream will be closed and not be available anymore for this connection. This can lead to the fact that the connection does not have any more streams to write to. Since a connection can be reused after the close, this is a problem, especially on the client side (agent).

When this happens on the agent, we would constantly try to reconnect to the server and fail. This loop of connect/disconnect will eventually drain the byte buffer pool on the CMR as the buffers will not be returned to the pool until the garbage collection occurs.

The fix should:

  • maintain the idle queue so that on connection reusing there is a buffer to add

  • close the streams if the connection will not be reused

Environment

None

Status

Assignee

Ivan Senic

Reporter

Ivan Senic

Labels

None

Pull Request

None

Integrator

None

Sprint

Fix versions

Priority

Highest
Configure