Skip to content

How to customize pg_treeline page allocation? #117

@Warmchay

Description

@Warmchay

Thanks for your incredible work!

I want to test treeline on my own, and I make a ycsbr scripts as follows:

record_size_bytes: 1024

load:
  num_records: 2000000
  distribution:
    type: linspace
    start_key: 1
    step_size: 1

run:
- num_requests: 6000000
  read:
    proportion_pct: 50
    distribution:
      type: zipfian    
      theta: 0.99
      salt: 12345
  update:
    proportion_pct: 50
    distribution:
      type: zipfian    
      theta: 0.99
      salt: 12345

And I test it by run_custom on rocksdbtreelinepg_treeline and leanstore, it runs smoothly on rocksdb, but others have different bugs.

  • treeline

    • The fallocate on Ubuntu 22.04 is not supported, after changing to posix_fallocate is work.
  • leanstore

    • It prints errors as:

      Error opening counter cycle
      Error opening counter cycle
      Error opening counter cycle
      Error opening counter cycle
      Error opening counter cycle
      Error opening counter cycle
      0x7f840c006858
      -------------------------------------------------------------------------------------
      Going out of memory !
  • pg_treeline

    • The error is:

      Page full. Current size: 4
      run_custom: /home/zoris/2024/github/treeline/page_grouping/manager_load.cc:206: std::pair<long unsigned int, tl::pg::SegmentInfo> tl::pg::Manager::LoadIntoNewSegment(uint32_t, const tl::pg::Segment&, tl::pg::Key): Assertion `result.ok()' failed.
    • I wonder how to adjust page size, in the db_path, it has 5 sf files as prefix, while other db has more files, but I couldn't find the correspoinding code.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions