SL21W45: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
(9 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
<br /> | <br /> | ||
*Slots in inventories can be NULL OR AIR. PlayerInv & Chest have NULL. CratingInv has AIR. | |||
*Decision: Remove all the TAB-Menu code. Only use Tab header / tab footer for minimal stuff. '''Rest should go on the screen only''' | |||
*Chunkli: Unloading hanging chunk [...] causes deadlock. Need to rework that solution | |||
**BUT...we should not fix it as 1.18 is probably gonna break it anyways. Lets wait and save the time<br /> | |||
*Stasi system | *Stasi system | ||
**Fully switch to Scopes & Collections | |||
**Remove all Views | |||
**Use water-break, tnt-break | |||
**Do not log UUID of TNTPrimed / ItemSpawn | |||
*Stasi event generation test & performance impact | |||
**Queries for n1ql and stasi metadata subdocuments | |||
***'''Unable to use JsonObject.create().put("world", String.valueOf(world)); for replacing somehow. Using String.replace for now as params are be validated anyway'''<syntaxhighlight lang="java"> | |||
String readableString = | |||
""" | |||
select doc.* from $bsc as doc | |||
where doc.timeStamp > $from AND doc.timeStamp < $to | |||
AND doc.regions.$world IS VALUED | |||
AND (ANY r IN doc.regions.$world SATISFIES r.x >= $xMin AND r.x < $xMax AND r.z >= $zMin AND r.z < $zMax END) | |||
ORDER BY doc.timeStamp ASC | |||
LIMIT 5000; | |||
"""; | |||
</syntaxhighlight> | |||
***SELECT doc.* FROM kadi.etm20100.account as doc | |||
***SELECT doc.* FROM bucket.<ServerId>.<DBType> | |||
**Looks good nearly no load on main thread | |||
**Couchbase storage approach SEEMS to be correct. But not yet fully supported from couchbase: https://forums.couchbase.com/t/scope-collection-limit-performance-impact/32146 | |||
**Writing in async larger json chunks seems efficient | |||
**Need to decide if we store StasiData as json or binary at some point. | |||
***Using kryo should drastically reduce stasidata. But our meta objects need to be very good first | |||
***Probably not gonna implement StasiData searching via n1ql anyway and do that in the java code as we need to implement it anyway for the lastest 1-5minutes of events | |||
*/stasi querying first implementation | |||
**getting metadata | |||
**filter stasidata container to only given flags/params | |||
**<br /> | |||
*** |
Latest revision as of 00:05, 4 November 2022
- Slots in inventories can be NULL OR AIR. PlayerInv & Chest have NULL. CratingInv has AIR.
- Decision: Remove all the TAB-Menu code. Only use Tab header / tab footer for minimal stuff. Rest should go on the screen only
- Chunkli: Unloading hanging chunk [...] causes deadlock. Need to rework that solution
- BUT...we should not fix it as 1.18 is probably gonna break it anyways. Lets wait and save the time
- BUT...we should not fix it as 1.18 is probably gonna break it anyways. Lets wait and save the time
- Stasi system
- Fully switch to Scopes & Collections
- Remove all Views
- Use water-break, tnt-break
- Do not log UUID of TNTPrimed / ItemSpawn
- Stasi event generation test & performance impact
- Queries for n1ql and stasi metadata subdocuments
- Unable to use JsonObject.create().put("world", String.valueOf(world)); for replacing somehow. Using String.replace for now as params are be validated anyway
String readableString = """ select doc.* from $bsc as doc where doc.timeStamp > $from AND doc.timeStamp < $to AND doc.regions.$world IS VALUED AND (ANY r IN doc.regions.$world SATISFIES r.x >= $xMin AND r.x < $xMax AND r.z >= $zMin AND r.z < $zMax END) ORDER BY doc.timeStamp ASC LIMIT 5000; """;
- SELECT doc.* FROM kadi.etm20100.account as doc
- SELECT doc.* FROM bucket.<ServerId>.<DBType>
- Unable to use JsonObject.create().put("world", String.valueOf(world)); for replacing somehow. Using String.replace for now as params are be validated anyway
- Looks good nearly no load on main thread
- Couchbase storage approach SEEMS to be correct. But not yet fully supported from couchbase: https://forums.couchbase.com/t/scope-collection-limit-performance-impact/32146
- Writing in async larger json chunks seems efficient
- Need to decide if we store StasiData as json or binary at some point.
- Using kryo should drastically reduce stasidata. But our meta objects need to be very good first
- Probably not gonna implement StasiData searching via n1ql anyway and do that in the java code as we need to implement it anyway for the lastest 1-5minutes of events
- Queries for n1ql and stasi metadata subdocuments
- /stasi querying first implementation
- getting metadata
- filter stasidata container to only given flags/params