objectbox / objectbox/objectbox-java

Add stress test with many indexes

Đang mở
#462 5 bình luận 0 reaction 1 người được giao Xem trên GitHub

@greenrobot-team đang làm issue này rồi.

Từ ngày 14/6/2018.

Ngôn ngữ chính
Java
Star
4.6k
Fork
311
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

Issue Basics

  • ObjectBox version: 1.5.0
  • Reproducibility: most of the times
Description

I found that when I have many data (>50,000 records) in the database, write operation ( Box.put(), Box.removeAll(), etc. ) will hang forever. However, read operation still works. After debugging, I found that "nativeBeginTx()" (in BoxStore.java) or "nativeDeleteAll" (in Cursor.java) method call never ended. Is there any additional setup for large data application?

My BoxStore.diagnose() result (called before write operation):

pid thread txnid
8875 b774fc00 -
8875 99c3a930 -
8875 a00ba930 -
8875 8c800930 -

entries=1988217
depth=4
branch-pages=466
leaf-pages=43826
overflow-pages=8
page-size=4096
last-page-number=48054
last-tx-id=3863
size=10737418240
max-readers=500
readers=4

Setup
static final int MAX_NUM_DB_READERS = 500;
static final long MAX_DB_SIZE_KB = 10 * 1024 * 1024;

mBoxStore = MyObjectBox.builder().androidContext( this ).maxSizeInKByte( MAX_DB_SIZE_KB ).maxReaders( MAX_NUM_DB_READERS ).build();

Debug
(Logged from the start of the application, where #4 is box.removeAll() transaction, The number of records in that box is < 300, and it takes forever) 

06-05 03:19:54.030 18382-18425 I/Box: TX #3 (read) ready on thread 9943a930
06-05 03:19:54.043 18382-18425 I/Box: TX #3 recycle
06-05 03:19:54.454 18382-18409 I/Box: TX #4 (write) ready on thread 9fb7f930
06-05 03:20:27.315 18382-18401 I/Box: TX #5 (read) ready on thread 9ffc0930
06-05 03:20:34.070 18382-18401 I/Box: TX #5 is destroyed on thread 9ffc0930...
06-05 03:20:34.070 18382-18401 I/Box: TX #5 destroyed
06-05 03:20:34.869 18382-18401 I/Box: TX #6 (read) ready on thread 9ffc0930
06-05 03:20:34.887 18382-18401 I/Box: TX #6 is destroyed on thread 9ffc0930...
06-05 03:20:34.887 18382-18401 I/Box: TX #6 destroyed
06-05 03:20:39.449 18382-18401 I/Box: TX #7 (write) ready on thread 9ffc0930
06-05 03:20:39.449 18382-18401 I/Box: TX #7 waiting for TX #4 to finish

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.