Bug 1018223

Summary: Fix and enhance the performance of Infinispan Binary Store's ChunkInputStream
Product: [JBoss] JBoss Data Virtualization 6 Reporter: Horia Chiorean <hchiorea>
Component: ModeShapeAssignee: Horia Chiorean <hchiorea>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.0.0CC: atangrin, fnguyen, ldimaggi
Target Milestone: ER3Keywords: QA-Closed
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-02-10 08:59:44 UTC 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 Horia Chiorean 2013-10-11 13:45:45 UTC
The current ChunkInputStream implementation:
a) incorrectly implements the skip() operation, potentially causing corrupt data to be read
b) when multiple chunks are present, uses a sequential algorithm for moving across chunks during the skip operation.

These 2 issues should be fixed.

Comment 1 JBoss JIRA Server 2013-10-15 16:34:31 UTC
Horia Chiorean <hchiorea> made a comment on jira MODE-1752

The information that allowed "direct" streaming was already present in the Metadata and the chunk streams: the size of a chunk, the number of chunks and the total size of the binary. Therefore, the change is 100% backwards compatible.

This PR contains 2 commits:
- one which fixes and implements the direct skipping mechanism
- one which exposes the "chunkSize" as a JSON and AS7 configuration property, allowing clients to "fine-tune" their ISPN binary storage if needed.

Comment 2 JBoss JIRA Server 2013-10-15 16:34:47 UTC
Horia Chiorean <hchiorea> made a comment on jira MODE-1752

The information that allowed "direct" skipping was already present in the Metadata and the chunk streams: the size of a chunk, the number of chunks and the total size of the binary. Therefore, the change is 100% backwards compatible.

This PR contains 2 commits:
- one which fixes and implements the direct skipping mechanism
- one which exposes the "chunkSize" as a JSON and AS7 configuration property, allowing clients to "fine-tune" their ISPN binary storage if needed.

Comment 3 JBoss JIRA Server 2013-10-15 19:08:20 UTC
Randall Hauch <rhauch> made a comment on jira MODE-1752

Rebased and merged into the 'master' branch. Leaving this issue open until it can be merged into the 3.3.x-prod-ip6.0 branch.

Comment 6 JBoss JIRA Server 2013-10-24 09:22:06 UTC
Randall Hauch <rhauch> updated the status of jira MODE-1752 to Closed

Comment 7 belong 2013-11-18 03:05:36 UTC
Fixed before GA of major release - setting to requires_doc_text- accordingly