Bug 1227191

Summary: SingleFileStore.process() should use sequential access
Product: [JBoss] JBoss Data Grid 6 Reporter: Dan Berindei <dberinde>
Component: InfinispanAssignee: Tristan Tarrant <ttarrant>
Status: VERIFIED --- QA Contact: Martin Gencur <mgencur>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.4.1CC: jdg-bugs
Target Milestone: ER1   
Target Release: 6.5.1   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Dan Berindei 2015-06-02 06:09:44 UTC
SingleFileStore.process() iterates over its keys in pseudo-random order. (It puts all the entries in a HashSet and iterates it to minimize the amount of time it keeps the global lock.)

It should instead either iterate the entries directly from the disk, or at least sort the entries by their offset when iterating.

Since SingleFileStore.process() is used during state transfer, this change should improve state transfer performance with a SingleFileStore.