Alexander Berl
Alexander Berl
See #122 for the last observation/finding.
https://github.com/AxonIQ/axon-server-se/tree/master/axonserver/src/main/java/io/axoniq/axonserver/localstorage
Benchmarks with both promisified and fs.promise suggest being an order of magnitude slower than current sync calls. Of course those benchmarks are synthetic and in an actual application with a...
Alternatives: - no global order, only per partition - store global sequence inside document (still means writers can never be distributed per partition) - partial global order by timestamp/vector clock/TrueTime...
Depending on the goals, following solutions are viable: - strong consistency for all reads over multiple partitions: - single writer for all partitions / global sequence number - TrueTime (increases...
With #80 a global order can be established via the monotonic clock stamp and/or the sequence number in the document header.
The amount of file handle switches could be greatly reduced by a logic, that only keeps a fixed amount of (gradually smaller) files per partition. E.g. the first partition chunk...
Either one of two problems needs to be solved to make this viable: - deal with an ever growing amount of files - deal with the inconsistency of reading during...
Another idea is to maybe put the "closed" (and/or other) marker information into the filename, so that a scan of all streams can filter out closed streams early on without...
```javascript const globalContext = { authorizedRoles: ['user', 'everyone'] }; storage.preCommit((document, partitionMetadata) => { if (!partitionMetadata.allowedRoles.some(role => globalContext.authorizedRoles.includes(role))) { throw new Error('You are not allowed to commit to this partition with...