View Issue Details

IDProjectCategoryView StatusLast Update
0007007SymmetricDSImprovementpublic2025-08-01 17:47
Reporteremiller Assigned Toemiller  
Prioritynormal 
Status closedResolutionwon't fix 
Product Version3.14.0 
Summary0007007: Allow other threads to access the node channel cache while it's being refreshed
DescriptionCurrently, when one thread is refreshing the node channel cache, other threads have to wait for it to complete and release the lock. When the database is slow, this can cause a large number of pull threads to be stuck waiting for the refresh to complete. Meanwhile, the following message may appear in the log:

INFO [server] [ConcurrentConnectionManager] [qtp53752060-468] Node 'client' Channel 'null' requested a /sync/pull connection, but was rejected because it already has one

Instead, if another thread can't get the lock, it should use the cached value if it isn't null. The outgoing batch cache can be used as an example. It uses a semaphore to achieve this kind of behavior.
Tagsconfiguration, data sync, performance

Relationships

related to 0007008 closedemiller Allow other threads to access the node channel cache while it's being refreshed 

Activities

emiller

2025-08-01 17:47

developer   ~0003286

This has been fixed in 3.16 and we aren't going to backport it to 3.15. See issue 0007008.

Issue History

Date Modified Username Field Change
2025-07-30 15:50 emiller New Issue
2025-07-30 15:50 emiller Tag Attached: configuration
2025-07-30 15:50 emiller Tag Attached: data sync
2025-07-30 15:50 emiller Tag Attached: performance
2025-07-30 15:50 emiller Issue cloned: 0007008
2025-07-30 15:50 emiller Relationship added related to 0007008
2025-07-30 15:51 emiller Status new => confirmed
2025-07-30 18:16 emiller Assigned To => emiller
2025-07-30 18:16 emiller Status confirmed => assigned
2025-08-01 17:47 emiller Status assigned => closed
2025-08-01 17:47 emiller Resolution open => won't fix
2025-08-01 17:47 emiller Note Added: 0003286