SL21W45

From ETM
Jump to navigation Jump to search

◄ SL21W44 | SL21W46 ►


  • 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
  • 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>
    • 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