Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable multiQuery optimization for coalesce step #2996

Closed
joshluck opened this issue Mar 25, 2022 · 0 comments · Fixed by #3783
Closed

Enable multiQuery optimization for coalesce step #2996

joshluck opened this issue Mar 25, 2022 · 0 comments · Fixed by #3783

Comments

@joshluck
Copy link

As mentioned in #2984, it would be helpful to have .coalesce() be parallelized/use multiQuery when query.batch is set.

porunov added a commit to porunov/janusgraph that referenced this issue May 20, 2023
This commit improves JanusGraphMultiQueryStrategy to better support multi-query compatible parent steps.

1. This commit brings better support for `repeat` step by introducing next itaration registration process.
Previously `repeat` children steps was getting traversers registered from the beginning of all outer repeat steps which
could result in duplicate or unnecesary retrievals for the first batch. Moreover, next iterations were not considered.
This commit changes the approach to register only with the beginning and end of the first reaching `repeat` step.

2. Instead of using JanusGraphMultiQueryStep in the local traversal, this commit changes the approach to use
the most outer eligible parent's JanusGraphMultiQueryStep. This improves usage of the existing parent steps
by properly registering batches instead of registering batches considering local elements only.

3. This commit adds support to almost all known TinkerPop Parent steps.
The exception is `match` step. We didn't have proper outter start registration for `match` step previously and now as well.

Fixes JanusGraph#3733
Fixes JanusGraph#3735
Fixes JanusGraph#2996

Signed-off-by: Oleksandr Porunov <alexandr.porunov@gmail.com>
porunov added a commit to porunov/janusgraph that referenced this issue May 20, 2023
This commit improves JanusGraphMultiQueryStrategy to better support multi-query compatible parent steps.

1. This commit brings better support for `repeat` step by introducing next itaration registration process.
Previously `repeat` children steps was getting traversers registered from the beginning of all outer repeat steps which
could result in duplicate or unnecesary retrievals for the first batch. Moreover, next iterations were not considered.
This commit changes the approach to register only with the beginning and end of the first reaching `repeat` step.

2. Instead of using JanusGraphMultiQueryStep in the local traversal, this commit changes the approach to use
the most outer eligible parent's JanusGraphMultiQueryStep. This improves usage of the existing parent steps
by properly registering batches instead of registering batches considering local elements only.

3. This commit adds support to almost all known TinkerPop Parent steps.
The exception is `match` step. We didn't have proper outter start registration for `match` step previously and now as well.

Fixes JanusGraph#3733
Fixes JanusGraph#3735
Fixes JanusGraph#2996

Signed-off-by: Oleksandr Porunov <alexandr.porunov@gmail.com>
porunov added a commit to porunov/janusgraph that referenced this issue May 20, 2023
This commit improves JanusGraphMultiQueryStrategy to better support multi-query compatible parent steps.

1. This commit brings better support for `repeat` step by introducing next itaration registration process.
Previously `repeat` children steps was getting traversers registered from the beginning of all outer repeat steps which
could result in duplicate or unnecesary retrievals for the first batch. Moreover, next iterations were not considered.
This commit changes the approach to register only with the beginning and end of the first reaching `repeat` step.

2. Instead of using JanusGraphMultiQueryStep in the local traversal, this commit changes the approach to use
the most outer eligible parent's JanusGraphMultiQueryStep. This improves usage of the existing parent steps
by properly registering batches instead of registering batches considering local elements only.

3. This commit adds support to almost all known TinkerPop Parent steps.
The exception is `match` step. We didn't have proper outter start registration for `match` step previously and now as well.

Fixes JanusGraph#3733
Fixes JanusGraph#3735
Fixes JanusGraph#2996

Signed-off-by: Oleksandr Porunov <alexandr.porunov@gmail.com>
porunov added a commit to porunov/janusgraph that referenced this issue May 20, 2023
This commit improves JanusGraphMultiQueryStrategy to better support multi-query compatible parent steps.

1. This commit brings better support for `repeat` step by introducing next itaration registration process.
Previously `repeat` children steps was getting traversers registered from the beginning of all outer repeat steps which
could result in duplicate or unnecesary retrievals for the first batch. Moreover, next iterations were not considered.
This commit changes the approach to register only with the beginning and end of the first reaching `repeat` step.

2. Instead of using JanusGraphMultiQueryStep in the local traversal, this commit changes the approach to use
the most outer eligible parent's JanusGraphMultiQueryStep. This improves usage of the existing parent steps
by properly registering batches instead of registering batches considering local elements only.

3. This commit adds support to almost all known TinkerPop Parent steps.
The exception is `match` step. We didn't have proper outter start registration for `match` step previously and now as well.

Fixes JanusGraph#3733
Fixes JanusGraph#3735
Fixes JanusGraph#2996

Signed-off-by: Oleksandr Porunov <alexandr.porunov@gmail.com>
porunov added a commit to porunov/janusgraph that referenced this issue May 25, 2023
This commit improves JanusGraphMultiQueryStrategy to better support multi-query compatible parent steps.

1. This commit brings better support for `repeat` step by introducing next itaration registration process.
Previously `repeat` children steps was getting traversers registered from the beginning of all outer repeat steps which
could result in duplicate or unnecesary retrievals for the first batch. Moreover, next iterations were not considered.
This commit changes the approach to register only with the beginning and end of the first reaching `repeat` step.

2. Instead of using JanusGraphMultiQueryStep in the local traversal, this commit changes the approach to use
the most outer eligible parent's JanusGraphMultiQueryStep. This improves usage of the existing parent steps
by properly registering batches instead of registering batches considering local elements only.

3. This commit adds support to almost all known TinkerPop Parent steps.
The exception is `match` step. We didn't have proper outter start registration for `match` step previously and now as well.

Fixes JanusGraph#3733
Fixes JanusGraph#3735
Fixes JanusGraph#2996

Signed-off-by: Oleksandr Porunov <alexandr.porunov@gmail.com>
porunov added a commit to porunov/janusgraph that referenced this issue May 27, 2023
This commit improves JanusGraphMultiQueryStrategy to better support multi-query compatible parent steps.

1. This commit brings better support for `repeat` step by introducing next itaration registration process.
Previously `repeat` children steps was getting traversers registered from the beginning of all outer repeat steps which
could result in duplicate or unnecesary retrievals for the first batch. Moreover, next iterations were not considered.
This commit changes the approach to register only with the beginning and end of the first reaching `repeat` step.

2. Instead of using JanusGraphMultiQueryStep in the local traversal, this commit changes the approach to use
the most outer eligible parent's JanusGraphMultiQueryStep. This improves usage of the existing parent steps
by properly registering batches instead of registering batches considering local elements only.

3. This commit adds support to almost all known TinkerPop Parent steps.
The exception is `match` step. We didn't have proper outter start registration for `match` step previously and now as well.

Fixes JanusGraph#3733
Fixes JanusGraph#3735
Fixes JanusGraph#2996

Signed-off-by: Oleksandr Porunov <alexandr.porunov@gmail.com>
porunov added a commit to porunov/janusgraph that referenced this issue May 27, 2023
This commit improves JanusGraphMultiQueryStrategy to better support multi-query compatible parent steps.

1. This commit brings better support for `repeat` step by introducing next itaration registration process.
Previously `repeat` children steps was getting traversers registered from the beginning of all outer repeat steps which
could result in duplicate or unnecesary retrievals for the first batch. Moreover, next iterations were not considered.
This commit changes the approach to register only with the beginning and end of the first reaching `repeat` step.

2. Instead of using JanusGraphMultiQueryStep in the local traversal, this commit changes the approach to use
the most outer eligible parent's JanusGraphMultiQueryStep. This improves usage of the existing parent steps
by properly registering batches instead of registering batches considering local elements only.

3. This commit adds support to almost all known TinkerPop Parent steps.
The exception is `match` step. We didn't have proper outter start registration for `match` step previously and now as well.

Fixes JanusGraph#3733
Fixes JanusGraph#3735
Fixes JanusGraph#2996

Signed-off-by: Oleksandr Porunov <alexandr.porunov@gmail.com>
porunov added a commit to porunov/janusgraph that referenced this issue May 27, 2023
This commit improves JanusGraphMultiQueryStrategy to better support multi-query compatible parent steps.

1. This commit brings better support for `repeat` step by introducing next itaration registration process.
Previously `repeat` children steps was getting traversers registered from the beginning of all outer repeat steps which
could result in duplicate or unnecesary retrievals for the first batch. Moreover, next iterations were not considered.
This commit changes the approach to register only with the beginning and end of the first reaching `repeat` step.

2. Instead of using JanusGraphMultiQueryStep in the local traversal, this commit changes the approach to use
the most outer eligible parent's JanusGraphMultiQueryStep. This improves usage of the existing parent steps
by properly registering batches instead of registering batches considering local elements only.

3. This commit adds support to almost all known TinkerPop Parent steps.
The exception is `match` step. We didn't have proper outter start registration for `match` step previously and now as well.

Fixes JanusGraph#3733
Fixes JanusGraph#3735
Fixes JanusGraph#2996

Signed-off-by: Oleksandr Porunov <alexandr.porunov@gmail.com>
porunov added a commit to porunov/janusgraph that referenced this issue May 27, 2023
This commit improves JanusGraphMultiQueryStrategy to better support multi-query compatible parent steps.

1. This commit brings better support for `repeat` step by introducing next itaration registration process.
Previously `repeat` children steps was getting traversers registered from the beginning of all outer repeat steps which
could result in duplicate or unnecesary retrievals for the first batch. Moreover, next iterations were not considered.
This commit changes the approach to register only with the beginning and end of the first reaching `repeat` step.

2. Instead of using JanusGraphMultiQueryStep in the local traversal, this commit changes the approach to use
the most outer eligible parent's JanusGraphMultiQueryStep. This improves usage of the existing parent steps
by properly registering batches instead of registering batches considering local elements only.

3. This commit adds support to almost all known TinkerPop Parent steps.
The exception is `match` step. We didn't have proper outter start registration for `match` step previously and now as well.

Fixes JanusGraph#3733
Fixes JanusGraph#3735
Fixes JanusGraph#2996

Signed-off-by: Oleksandr Porunov <alexandr.porunov@gmail.com>
porunov added a commit to porunov/janusgraph that referenced this issue May 27, 2023
This commit improves JanusGraphMultiQueryStrategy to better support multi-query compatible parent steps.

1. This commit brings better support for `repeat` step by introducing next itaration registration process.
Previously `repeat` children steps was getting traversers registered from the beginning of all outer repeat steps which
could result in duplicate or unnecesary retrievals for the first batch. Moreover, next iterations were not considered.
This commit changes the approach to register only with the beginning and end of the first reaching `repeat` step.

2. Instead of using JanusGraphMultiQueryStep in the local traversal, this commit changes the approach to use
the most outer eligible parent's JanusGraphMultiQueryStep. This improves usage of the existing parent steps
by properly registering batches instead of registering batches considering local elements only.

3. This commit adds support to almost all known TinkerPop Parent steps.
The exception is `match` step. We didn't have proper outter start registration for `match` step previously and now as well.

Fixes JanusGraph#3733
Fixes JanusGraph#3735
Fixes JanusGraph#2996

Signed-off-by: Oleksandr Porunov <alexandr.porunov@gmail.com>
porunov added a commit to porunov/janusgraph that referenced this issue May 28, 2023
This commit improves JanusGraphMultiQueryStrategy to better support multi-query compatible parent steps.

1. This commit brings better support for `repeat` step by introducing next itaration registration process.
Previously `repeat` children steps was getting traversers registered from the beginning of all outer repeat steps which
could result in duplicate or unnecesary retrievals for the first batch. Moreover, next iterations were not considered.
This commit changes the approach to register only with the beginning and end of the first reaching `repeat` step.

2. Instead of using JanusGraphMultiQueryStep in the local traversal, this commit changes the approach to use
the most outer eligible parent's JanusGraphMultiQueryStep. This improves usage of the existing parent steps
by properly registering batches instead of registering batches considering local elements only.

3. This commit adds support to almost all known TinkerPop Parent steps.
The exception is `match` step. We didn't have proper outter start registration for `match` step previously and now as well.

Fixes JanusGraph#3733
Fixes JanusGraph#3735
Fixes JanusGraph#2996

Signed-off-by: Oleksandr Porunov <alexandr.porunov@gmail.com>
porunov added a commit to porunov/janusgraph that referenced this issue May 29, 2023
This commit improves JanusGraphMultiQueryStrategy to better support multi-query compatible parent steps.

1. This commit brings better support for `repeat` step by introducing next itaration registration process.
Previously `repeat` children steps was getting traversers registered from the beginning of all outer repeat steps which
could result in duplicate or unnecesary retrievals for the first batch. Moreover, next iterations were not considered.
This commit changes the approach to register only with the beginning and end of the first reaching `repeat` step.

2. This commit adds support to almost all known TinkerPop Parent steps.
The exception is `match` step. We didn't have proper outter start registration for `match` step previously and now as well.

Fixes JanusGraph#3733
Fixes JanusGraph#3735
Fixes JanusGraph#2996

Signed-off-by: Oleksandr Porunov <alexandr.porunov@gmail.com>
@porunov porunov added this to the Release v1.0.0 milestone May 29, 2023
porunov added a commit to porunov/janusgraph that referenced this issue May 31, 2023
…-tests] [tp-tests]

This commit improves JanusGraphMultiQueryStrategy to better support multi-query compatible parent steps.

1. This commit brings better support for `repeat` step by introducing next itaration registration process.
Previously `repeat` children steps was getting traversers registered from the beginning of all outer repeat steps which
could result in duplicate or unnecesary retrievals for the first batch. Moreover, next iterations were not considered.
This commit changes the approach to bring different `repeat` step modes which can change the batches registration behaviour
to aacount only the closest `repeat` step, all `repeat` steps, all only starts of all `repeat` steps.

2. This commit adds support to almost all known TinkerPop Parent steps.
The exception is `match` step. We didn't have proper outter start registration for `match` step previously and now as well.

Fixes JanusGraph#3733
Fixes JanusGraph#3735
Fixes JanusGraph#2996

Signed-off-by: Oleksandr Porunov <alexandr.porunov@gmail.com>
porunov added a commit to porunov/janusgraph that referenced this issue May 31, 2023
…-tests] [tp-tests]

This commit improves JanusGraphMultiQueryStrategy to better support multi-query compatible parent steps.

1. This commit brings better support for `repeat` step by introducing next itaration registration process.
Previously `repeat` children steps was getting traversers registered from the beginning of all outer repeat steps which
could result in duplicate or unnecesary retrievals for the first batch. Moreover, next iterations were not considered.
This commit changes the approach to bring different `repeat` step modes which can change the batches registration behaviour
to aacount only the closest `repeat` step, all `repeat` steps, all only starts of all `repeat` steps.

2. This commit adds support to almost all known TinkerPop Parent steps.
The exception is `match` step. We didn't have proper outter start registration for `match` step previously and now as well.

Fixes JanusGraph#3733
Fixes JanusGraph#3735
Fixes JanusGraph#2996

Signed-off-by: Oleksandr Porunov <alexandr.porunov@gmail.com>
porunov added a commit to porunov/janusgraph that referenced this issue May 31, 2023
…-tests] [tp-tests]

This commit improves JanusGraphMultiQueryStrategy to better support multi-query compatible parent steps.

1. This commit brings better support for `repeat` step by introducing next itaration registration process.
Previously `repeat` children steps was getting traversers registered from the beginning of all outer repeat steps which
could result in duplicate or unnecesary retrievals for the first batch. Moreover, next iterations were not considered.
This commit changes the approach to bring different `repeat` step modes which can change the batches registration behaviour
to aacount only the closest `repeat` step, all `repeat` steps, all only starts of all `repeat` steps.

2. This commit adds support to almost all known TinkerPop Parent steps.
The exception is `match` step. We didn't have proper outter start registration for `match` step previously and now as well.

Fixes JanusGraph#3733
Fixes JanusGraph#3735
Fixes JanusGraph#2996

Signed-off-by: Oleksandr Porunov <alexandr.porunov@gmail.com>
porunov added a commit to porunov/janusgraph that referenced this issue Jun 2, 2023
…-tests] [tp-tests]

This commit improves JanusGraphMultiQueryStrategy to better support multi-query compatible parent steps.

1. This commit brings better support for `repeat` step by introducing next itaration registration process.
Previously `repeat` children steps was getting traversers registered from the beginning of all outer repeat steps which
could result in duplicate or unnecesary retrievals for the first batch. Moreover, next iterations were not considered.
This commit changes the approach to bring different `repeat` step modes which can change the batches registration behaviour
to aacount only the closest `repeat` step, all `repeat` steps, all only starts of all `repeat` steps.

2. This commit adds support to almost all known TinkerPop Parent steps.
The exception is `match` step. We didn't have proper outter start registration for `match` step previously and now as well.

Fixes JanusGraph#3733
Fixes JanusGraph#3735
Fixes JanusGraph#2996

Signed-off-by: Oleksandr Porunov <alexandr.porunov@gmail.com>
porunov added a commit to porunov/janusgraph that referenced this issue Jun 2, 2023
…-tests] [tp-tests]

This commit improves JanusGraphMultiQueryStrategy to better support multi-query compatible parent steps.

1. This commit brings better support for `repeat` step by introducing next itaration registration process.
Previously `repeat` children steps was getting traversers registered from the beginning of all outer repeat steps which
could result in duplicate or unnecesary retrievals for the first batch. Moreover, next iterations were not considered.
This commit changes the approach to bring different `repeat` step modes which can change the batches registration behaviour
to aacount only the closest `repeat` step, all `repeat` steps, all only starts of all `repeat` steps.

2. This commit adds support to almost all known TinkerPop Parent steps.
The exception is `match` step. We didn't have proper outter start registration for `match` step previously and now as well.

Fixes JanusGraph#3733
Fixes JanusGraph#3735
Fixes JanusGraph#2996

Signed-off-by: Oleksandr Porunov <alexandr.porunov@gmail.com>
porunov added a commit to porunov/janusgraph that referenced this issue Jun 2, 2023
…-tests] [tp-tests]

This commit improves JanusGraphMultiQueryStrategy to better support multi-query compatible parent steps.

1. This commit brings better support for `repeat` step by introducing next itaration registration process.
Previously `repeat` children steps was getting traversers registered from the beginning of all outer repeat steps which
could result in duplicate or unnecesary retrievals for the first batch. Moreover, next iterations were not considered.
This commit changes the approach to bring different `repeat` step modes which can change the batches registration behaviour
to aacount only the closest `repeat` step, all `repeat` steps, all only starts of all `repeat` steps.

2. This commit adds support to almost all known TinkerPop Parent steps.
The exception is `match` step. We didn't have proper outter start registration for `match` step previously and now as well.

Fixes JanusGraph#3733
Fixes JanusGraph#3735
Fixes JanusGraph#2996

Signed-off-by: Oleksandr Porunov <alexandr.porunov@gmail.com>
porunov added a commit that referenced this issue Jun 5, 2023
…-tests] [tp-tests]

This commit improves JanusGraphMultiQueryStrategy to better support multi-query compatible parent steps.

1. This commit brings better support for `repeat` step by introducing next itaration registration process.
Previously `repeat` children steps was getting traversers registered from the beginning of all outer repeat steps which
could result in duplicate or unnecesary retrievals for the first batch. Moreover, next iterations were not considered.
This commit changes the approach to bring different `repeat` step modes which can change the batches registration behaviour
to aacount only the closest `repeat` step, all `repeat` steps, all only starts of all `repeat` steps.

2. This commit adds support to almost all known TinkerPop Parent steps.
The exception is `match` step. We didn't have proper outter start registration for `match` step previously and now as well.

Fixes #3733
Fixes #3735
Fixes #2996

Signed-off-by: Oleksandr Porunov <alexandr.porunov@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
2 participants