Done issues

TcpConnection not correctly maintaining the idle queue in case of close
INSPECTIT-2574
ByteBuffer pool drains on the CMR which causes inability to communicate with agents
INSPECTIT-2494
SpanStoreRunnable should delegate equals and hashCode to wrapped Runnable
INSPECTIT-2567
Broken connection stream causes multiple errors on the agent and CMR
INSPECTIT-2568
Update inspectIT Publicity Information (1.8.5)
INSPECTIT-2523
UI frozen on OSX High Sierra
INSPECTIT-2560
Adding inspectIT's youtube video to the README
INSPECTIT-2557
NPE in EUM Point builder
INSPECTIT-2555
Fix GitHub Release Helper Plugin for Jenkins
INSPECTIT-2372
Diagnosis service sometimes fails to conduct analysis
INSPECTIT-2543
Public announcement for the road-map and plans
INSPECTIT-2563
No Mapping Defined
INSPECTIT-2552
Create Release Documentation (1.8.5)
INSPECTIT-2522
Update readme.md for the v1.8 final
INSPECTIT-2532
StorageManagerView throws IllegalArgumentException if "show properties" is selected
INSPECTIT-2545
Capture more detailed EUM resource timings
INSPECTIT-2531
Explorative testing for version 1.8 final
INSPECTIT-2521
Speed-up application start-up by utilizing agent class cache for loaded class instrumentation
INSPECTIT-2304
Connection can hang when output stream idle queue is empty
INSPECTIT-2489
Perform explorative testing for 1.8 line
INSPECTIT-2444
EUM PageLoad spans disappear when they don't have a backend span
INSPECTIT-2529
Enable GC log rotation for the inspectit.server
INSPECTIT-2537
Update contact links from inside the UI
INSPECTIT-2538
Server status rest end-point returns HttpMessageNotWritableException
INSPECTIT-2542
InfluxDB is enabled message displayed in system data views even when influx is not active
INSPECTIT-2540
Agent can not be launched with the Java 9
INSPECTIT-2544
SQL statistics not shown in the invocation sub-view
INSPECTIT-2541
NPE on removing (offline) repository
INSPECTIT-2539
JMX sensor does not handle run-time exceptions
INSPECTIT-2534
Move the EUM Agent to TypeScript
INSPECTIT-2477
DiagnoseIT jar not included in the server manifest
INSPECTIT-2535
Extracting attributes and parameters from HTTP requests should be optional
INSPECTIT-2533
Support remote tracing with Apache HttpAsyncClient
INSPECTIT-2458
Extend Restful API for alert service
INSPECTIT-2253
Embed Diagnosis Service into inspectIT Server & Store data in InfluxDB
INSPECTIT-2397
Method occurs multiple times and is registered twice
INSPECTIT-2517
Focussing the same agent in the repository manager after refresh
INSPECTIT-2515
Showing agent informations in the UI's repository manager
INSPECTIT-2420
Add agent rule to application definition
INSPECTIT-2192
More configuration possibilities for the Agent Mapping
INSPECTIT-2187
CMR Environments can have the same name in the Instrumentation Manager
INSPECTIT-2414
inspectIT agent 1.6.8.8.2 fatal error on Jboss43cp09 jdk 1.5.0_22
INSPECTIT-2525
Update inspectIT Publicity Information (1.8.4)
INSPECTIT-2513
Create Release Documentation (1.8.4)
INSPECTIT-2512
Support asynchronous tracing based on ExecutorServices
INSPECTIT-2432
Refactoring tree content providers for invocation sequence trees
INSPECTIT-2504
Improve tracing details with remote manual sensor
INSPECTIT-2467
Setup Jenkins task for pushing the Agent SDK to Maven Central
INSPECTIT-2511
CR in end of agentName in influx db
INSPECTIT-2490
E-Mail services tries always to authenticate, even no credentials are specified.
INSPECTIT-2324
issue 1 of 456

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