Issues
- Debugger Storage is Neither Cluster Nor Thread SafeCBDEBUGGER-27Luis Majano
- Debug URL Not Requiring PasswordCBDEBUGGER-26Luis Majano
- Account for QoQ in Lucee SQL PanelCBDEBUGGER-25Jon Clausen
- Module Debuggers are not ThreadsafeCBDEBUGGER-24Luis Majano
- aop_######## has an invalid return value, cannot cast Object type [Struct] to [string]]CBDEBUGGER-22Resolved issue: CBDEBUGGER-22Luis Majano
- QB/Quick Debugger requestTracker.qbqueries not definedCBDEBUGGER-21Luis Majano
- Enabling cbdebugger seems to cause issues if that site is using Alpine JSCBDEBUGGER-20Luis Majano
- JSONPrettyPrint Form Params Throws ExceptionCBDEBUGGER-19Resolved issue: CBDEBUGGER-19Luis Majano
- donot override the window on load event, just attach yourselfCBDEBUGGER-18Resolved issue: CBDEBUGGER-18Luis Majano
- If you change the monitor frequency, it does not clear the old monitor and you get n monitorsCBDEBUGGER-17Resolved issue: CBDEBUGGER-17Luis Majano
- Left double hash on no state for request tracker profilerCBDEBUGGER-16Resolved issue: CBDEBUGGER-16Luis Majano
- Auto-Refresh is not working in latest versionCBDEBUGGER-15Resolved issue: CBDEBUGGER-15Luis Majano
- Add support for Hibernate 5.4 on LuceeCBDEBUGGER-14Luis Majano
- Remove Hibernate SQL Formatter dependencyCBDEBUGGER-13Resolved issue: CBDEBUGGER-13Luis Majano
- Cache Content Report Url Takes User to Index.cfm Instead of /cbdebuggerCBDEBUGGER-12Luis Majano
- Executing Event That Uses QB From Interceptor Generates CBDebugger ExceptionCBDEBUGGER-10Resolved issue: CBDEBUGGER-10Luis Majano
- cbdebugger 3 wrong includes directoryCBDEBUGGER-9Resolved issue: CBDEBUGGER-9Luis Majano
- ACF2016 + CBDebugger Throws Errors When Using QB (QueryBuilder)CBDEBUGGER-8Resolved issue: CBDEBUGGER-8Luis Majano
- Cbdebugger Not Loading CSS FileCBDEBUGGER-7Resolved issue: CBDEBUGGER-7Luis Majano
- Stop auto-refresh when visiting a actual request reportCBDEBUGGER-6Resolved issue: CBDEBUGGER-6Luis Majano
- RestHandler exception when there is prc.response in a handlerCBDEBUGGER-5Resolved issue: CBDEBUGGER-5Luis Majano
- Missing key in ForgeBox docsCBDEBUGGER-4Resolved issue: CBDEBUGGER-4Luis Majano
- CBDebugger breaks on logCriteriaQuery for older CBORM versionsCBDEBUGGER-3Resolved issue: CBDEBUGGER-3Luis Majano
- cborm and qb panels should be disabled by defaultCBDEBUGGER-2Resolved issue: CBDEBUGGER-2Luis Majano
- Lucee debugger no longer shows below the cbDebuggerCBDEBUGGER-1Resolved issue: CBDEBUGGER-1Luis Majano
25 of 25
Debugger Storage is Neither Cluster Nor Thread Safe
Description
Pinned fields
Click on the next to a field label to start pinning.
Details
Assignee
Luis MajanoLuis MajanoReporter
Jon ClausenJon ClausenPriority
Major
Details
Details
Assignee
Luis Majano
Luis MajanoReporter
Jon Clausen
Jon ClausenPriority
Sentry
Sentry
Sentry
Created August 26, 2024 at 4:31 PM
Updated August 26, 2024 at 8:55 PM
Activity
Show:
Luis MajanoAugust 26, 2024 at 8:55 PM
Yes noted, we have another branch with different approaches. For now, it’s not mean for production tracking.
Currently
cbDebugger
stores all debugger history in a single cache entry, which is appended to and shrunk to the max number off profilers on every single request.This is not thread-safe, when any concurrency is present, and creates significant problems when using a distributed cache because of
1. The potentially massive profile array storage being pulled and set on every request
2. Attempts to to the above from another instance can result in loss of data integrity on what is placed or maintained with any concurrency.
Suggest migrating profile storage to multiple entries and using a wildcard cache key lookup to assemble them. This will allow for smaller payloads, and make cache reaping more efficient.