All cursors can consume resources and should be closed as soon as the application is finished using them. In particular, a DiskOrderedCursor disables the file deletion done by log cleaning, and will therefore delay the compaction of log files.
Optional configurations: the following options are available to tune the DiskOrderedCursor.
The DiskOrderedCursor creates a background producer thread which prefetches some target records and inserts them in a queue for use by the cursor. The parameter {@link EnvironmentConfig#DOS_PRODUCER_QUEUE_TIMEOUT} applies tothis background thread, and controls the timeout which governs the blocking queue.
When the DiskOrderedCursor is first created, it is "seeded" with in-memory internal B-Tree nodes. This seeding causes the root and all seed INs to be latched for read, for use by the cursor. Seeded B-Tree nodes help the efficiency of the cursor, but penalize any concurrent update operations which require write locks on those nodes. {@link DiskOrderedCursorConfig#setMaxSeedMillisecs} can be used tolimit the time spent on the seeding process in exchange for reduced performance during the cursor walk.
{@link DiskOrderedCursorConfig#setMaxSeedNodes} can be used tolimit the number of nodes used to seed the DiskOrderedCursor, which also can reduce cursor performance, but improves the performance of concurrent write operations. @since 5.0
|
|
|
|
|
|