[JAVA-3890] Avoiding connection storms Created: 18/Nov/20  Updated: 28/Oct/23  Resolved: 15/Oct/21

Status: Closed
Project: Java Driver
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Epic Priority: Major - P3
Reporter: Backlog - Core Eng Program Management Team Assignee: Valentin Kavalenka
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Issue split
Quarter: FY22Q4
Backwards Compatibility: Fully Compatible
Documentation Changes: Not Needed
Start date:
End date:
Calendar Time: 32 weeks, 4 days
Scope Cost Estimate: 5
Cost to Date: 22
Final Cost Estimate: 24
Cost Threshold %: 480
Detailed Project Statuses:

Engineer(s): Valentin

Summary: Introduce features to the Connection Monitoring and Pooling specification which mitigate issues associated with connection storms

2021-10-05: On track for 2021-10-15

  • One more prose test remains to be implemented, plus one bug that affects maxConnecting performance

2021-09-21: On track for 2021-10-15

  • Bulk write refactoring that is required for implementation of connection handshake retries is in code review.
  • Consider server load when selecting a server is also in review now
  • Next up: Provide guidance on handling command errors that occur before the handshake completes during operation execution

2021-09-08: Maintaining target end date of 2021-10-15

  • Refactoring of synchronous and reactive reads and writes to support expanded retryability is in review.
  • Next up is support for consideration of server load during server selection.

2021-08-10: Updated target end date to 2021-10-01

  • Valentin picked this back up and is working his way through the retryability logic. Refactoring is complete for sync reads. Async reads is up next
  • Support for paused state complete and is waiting on the retryability work before it can be merged
  • Note that this was on pause for approximately 6-7 weeks

2021-06-28:

  • On pause to finish 5.0 must haves

2021-06-15:

  • Support for paused state ready for second round of reviews
  • Retry logic changes are in progress
  • Will be pausing on this to work on supporting use of alternative SSL provider for Netty which needs to be done before 5.0
  • Maintaining end date for now and will update once remaining work resumes

2021-06-02: Maintaining target end date of 2021-06-25

  • Support for paused state now in review
  • Working on adding more tests

2021-05-18: Updated target end date to 2021-06-25

  • Support for paused state is in progress. Worked on merging conflicts with Load Balancer PR and currently working on fixing some failing tests. Should be in review later this week.
  • Adding 4 more weeks for the remaining work and reviews since Valentin mentioned that the project will be ~50% complete after pausable pool

2021-05-04: Updated target end date to 2021-05-28

  • Rate limit new connection creations (maxConnecting) complete
  • Support for paused state is in progress. There are some racy specification tests that need to be addressed. Found 4 race conditions in the last few days one of which was caused by a known server bug

2021-04-06: Maintaining target end date of 2021-04-30

  • Rate limit new connection creations (maxConnecting) in review. Review will take a little longer since Ross is OOO this week
  • Currently working on implementing and testing Connection Pool Paused State
  • Once the current in progress work is complete, Valentin will go over the remaining parts of the spec to figure out what needs to be done for the remaining tickets. Since there are a bunch of unknowns in regards to the timeline of this project, keeping the end date the same for now

2021-03-23: Updated target end date to 2021-04-30

  • Rate limit new connection creations (maxConnecting) in review
  • Currently working on implementing and testing Connection Pool Paused State

2021-03-09: Setting initial target end date to 2021-04-02

  • Currently working on Rate limit new connection creations (maxConnecting)


 Description   

See DRIVERS-781 for updated details.


Generated at Thu Feb 08 09:00:42 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.