Generate internal ID for browser error logs to resolve UUID duplication issue #13657
+153
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix the issue where browser-generated UUIDs can have duplicates due to browser limitations, causing data loss in BanyanDB's Measure module (which doesn't support updates).
Solution:
Modified
BrowserErrorLogRecord#id()to generate a composite internal ID combining the browser-provideduniqueIdwith thetimestamp. This ensures each error log entry has a unique storage ID even if browser UUIDs collide.Changes:
BrowserErrorLogRecord.javato use{uniqueId}_{timestamp}for internal ID.browser-protocol.mddocumentation.BrowserErrorLogRecordTest.javaunit tests to verify uniqueness.Related: Browser logs issue with duplicated UUID.