Use fork and join technique for querying the indexing tree

Description

Migrated from NovaTec Jira. Originalticket: INSPECTIT-585

Since the storage is written for Java 7, as soon as we switch to it on the CMR, I would propose that fork and join technique of Java 7 should be used when we query the indexing tree. The advantage should be that the separate branches that need to be queried in the same query, can be processed in parallel. This would in general brings us the faster query.

However, there should be a selection of situations where technique should be used. It should not be used always, since overhead for using it can be bigger than what we would get with parallelism:

More about Fork & Join in JDK 7: http://download.oracle.com/javase/tutorial/essential/concurrency/forkjoin.html

Pseudo-Code

Environment

None

Activity

Show:
Ivan Senic
July 30, 2015, 10:10 AM

As agreed with I prepared a JMH test for bench-marking the current way of querying the indexing tree. Then we can check if the fork/join give us any advantage at all.

Here are the current results:

Ivan Senic
July 30, 2015, 10:15 AM

Picture for better results overview..

Ivan Senic
November 16, 2015, 9:41 AM

Is the ticket ready for integration? Can you request integration on Jira if this is the case.. It should always be done to inform the other that somebody should have a look on the Pull Request.. Thanks..

Ivan Senic
November 16, 2015, 1:24 PM

Check comments on Reviewable, if there is any question please ask.. Good work

Ivan Senic
December 2, 2015, 10:50 AM

Just a few small comments..

Assignee

Tobias Angerstein

Reporter

Stefan Siegl

Labels

None

Integrator

Ivan Senic

Time remaining

0m

Components

Sprint

None

Fix versions

Priority

Low
Configure