[jira] [Comment Edited] (LUCENE-3759) Support joining in a distributed environment.

2018-08-07 Thread jyoti Tiwari (JIRA)


[ 
https://issues.apache.org/jira/browse/LUCENE-3759?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16571146#comment-16571146
 ] 

jyoti Tiwari edited comment on LUCENE-3759 at 8/7/18 5:59 AM:
--

Hello Ashish Dutta,

Please look into my issue which i am facing on solr4 while making join query 
across sharded collection on same node.

Solr4 on cloud joining across two sharded core i.e 
engineeringlogs_shard1_replica1 on machine 1 and micrologs_shard1_replica1 on 
machine 1

machine1 - engineeringlogs_shard1_replica1 (A), micrologs_shard1_replica1(B) 
machine 2- engineeringlogs_shard2_replica1(A1) , micrologs_shard2_replica1(B1)

query time join on engineeringlogs_shard1_replica1 (A):

fq: "\{!join from=Log_type to=Log_type 
fromIndex=micrologs_shard1_replica1}SerialNumber:\"000123456789\""

want to perform join across A and A1 on same machine 1,but it is not working 
fine. error is:

"error": \{ "metadata": [ "error-class", 
"org.apache.solr.common.SolrException", "root-error-class", 
"org.apache.solr.common.SolrException" ], "msg": "Cross-core join: no such core 
micrologs_shard1_replica1", "code": 400 }

Please guide me how should i proceed so that this join query will work fine for 
sharded collection for solr4 cloud.


was (Author: jyoti609):
Solr4 on cloud joining across two sharded core i.e 
engineeringlogs_shard1_replica1 on machine 1 and micrologs_shard1_replica1 on 
machine 1

machine1 - engineeringlogs_shard1_replica1 (A), micrologs_shard1_replica1(B) 
machine 2- engineeringlogs_shard2_replica1(A1) , micrologs_shard2_replica1(B1)

query time join on engineeringlogs_shard1_replica1 (A):

fq: "\{!join from=Log_type to=Log_type 
fromIndex=micrologs_shard1_replica1}SerialNumber:\"000123456789\""

want to perform join across A and A1 on same machine 1,but it is not working 
fine. error is:

"error": \{ "metadata": [ "error-class", 
"org.apache.solr.common.SolrException", "root-error-class", 
"org.apache.solr.common.SolrException" ], "msg": "Cross-core join: no such core 
micrologs_shard1_replica1", "code": 400 }

Please guide me how should i proceed so that this join query will work fine for 
sharded collection for solr4 cloud.

> Support joining in a distributed environment.
> -
>
> Key: LUCENE-3759
> URL: https://issues.apache.org/jira/browse/LUCENE-3759
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: modules/join
>Reporter: Martijn van Groningen
>Priority: Major
>
> Add two more methods in JoinUtil to support joining in a distributed manner.
> * Method to retrieve all from values.
> * Method to create a TermsQuery based on a set of from terms.
> With these two methods distributed joining can be supported following these 
> steps:
> # Retrieve from values from each shard
> # Merge the retrieved from values. 
> # Create a TermsQuery based on the merged from terms and send this query to 
> all shards. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Commented] (LUCENE-3759) Support joining in a distributed environment.

2018-08-07 Thread jyoti Tiwari (JIRA)


[ 
https://issues.apache.org/jira/browse/LUCENE-3759?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16571148#comment-16571148
 ] 

jyoti Tiwari commented on LUCENE-3759:
--

Hello Ashish Dutta,

Please look into my issue which i am facing on solr4 while making join query 
across sharded collection on same node.

Solr4 on cloud joining across two sharded core i.e 
engineeringlogs_shard1_replica1 on machine 1 and micrologs_shard1_replica1 on 
machine 1

machine1 - engineeringlogs_shard1_replica1 (A), micrologs_shard1_replica1(B) 
machine 2- engineeringlogs_shard2_replica1(A1) , micrologs_shard2_replica1(B1)

query time join on engineeringlogs_shard1_replica1 (A):

fq: "{!join from=Log_type to=Log_type 
fromIndex=micrologs_shard1_replica1}SerialNumber:\"000123456789\""

want to perform join across A and A1 on same machine 1,but it is not working 
fine. error is:

"error": { "metadata": [ "error-class", "org.apache.solr.common.SolrException", 
"root-error-class", "org.apache.solr.common.SolrException" ], "msg": 
"Cross-core join: no such core micrologs_shard1_replica1", "code": 400 }

Please guide me how should i proceed so that this join query will work fine for 
sharded collection for solr4 cloud.

> Support joining in a distributed environment.
> -
>
> Key: LUCENE-3759
> URL: https://issues.apache.org/jira/browse/LUCENE-3759
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: modules/join
>Reporter: Martijn van Groningen
>Priority: Major
>
> Add two more methods in JoinUtil to support joining in a distributed manner.
> * Method to retrieve all from values.
> * Method to create a TermsQuery based on a set of from terms.
> With these two methods distributed joining can be supported following these 
> steps:
> # Retrieve from values from each shard
> # Merge the retrieved from values. 
> # Create a TermsQuery based on the merged from terms and send this query to 
> all shards. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Comment Edited] (LUCENE-3759) Support joining in a distributed environment.

2018-08-06 Thread jyoti Tiwari (JIRA)


[ 
https://issues.apache.org/jira/browse/LUCENE-3759?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16571146#comment-16571146
 ] 

jyoti Tiwari edited comment on LUCENE-3759 at 8/7/18 5:57 AM:
--

Solr4 on cloud joining across two sharded core i.e 
engineeringlogs_shard1_replica1 on machine 1 and micrologs_shard1_replica1 on 
machine 1

machine1 - engineeringlogs_shard1_replica1 (A), micrologs_shard1_replica1(B) 
machine 2- engineeringlogs_shard2_replica1(A1) , micrologs_shard2_replica1(B1)

query time join on engineeringlogs_shard1_replica1 (A):

fq: "\{!join from=Log_type to=Log_type 
fromIndex=micrologs_shard1_replica1}SerialNumber:\"000123456789\""

want to perform join across A and A1 on same machine 1,but it is not working 
fine. error is:

"error": \{ "metadata": [ "error-class", 
"org.apache.solr.common.SolrException", "root-error-class", 
"org.apache.solr.common.SolrException" ], "msg": "Cross-core join: no such core 
micrologs_shard1_replica1", "code": 400 }

Please guide me how should i proceed so that this join query will work fine for 
sharded collection for solr4 cloud.


was (Author: jyoti609):
Solr4 on cloud joining across two sharded core i.e 
engineeringlogs_shard1_replica1 on machine 1 and micrologs_shard1_replica1 on 
machine 1

machine1 - engineeringlogs_shard1_replica1 (A), micrologs_shard1_replica1(B) 
machine 2- engineeringlogs_shard2_replica1(A1) , micrologs_shard2_replica1(B1)

query time join on engineeringlogs_shard1_replica1 (A):

fq: "\{!join from=Log_type to=Log_type 
fromIndex=micrologs_shard1_replica1}SerialNumber:\"000123456789\""

want to perform join across A and A1 on same machine 1,but it is not working 
fine. error is:

"error": \{ "metadata": [ "error-class", 
"org.apache.solr.common.SolrException", "root-error-class", 
"org.apache.solr.common.SolrException" ], "msg": "Cross-core join: no such core 
micrologs_shard1_replica1", "code": 400 }

Please guide me how should i proceed so that this join query will work fine for 
sharded collection for solr4 cloud.

> Support joining in a distributed environment.
> -
>
> Key: LUCENE-3759
> URL: https://issues.apache.org/jira/browse/LUCENE-3759
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: modules/join
>Reporter: Martijn van Groningen
>Priority: Major
>
> Add two more methods in JoinUtil to support joining in a distributed manner.
> * Method to retrieve all from values.
> * Method to create a TermsQuery based on a set of from terms.
> With these two methods distributed joining can be supported following these 
> steps:
> # Retrieve from values from each shard
> # Merge the retrieved from values. 
> # Create a TermsQuery based on the merged from terms and send this query to 
> all shards. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Commented] (LUCENE-3759) Support joining in a distributed environment.

2018-08-06 Thread jyoti Tiwari (JIRA)


[ 
https://issues.apache.org/jira/browse/LUCENE-3759?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16571146#comment-16571146
 ] 

jyoti Tiwari commented on LUCENE-3759:
--

Solr4 on cloud joining across two sharded core i.e 
engineeringlogs_shard1_replica1 on machine 1 and micrologs_shard1_replica1 on 
machine 1

machine1 - engineeringlogs_shard1_replica1 (A), micrologs_shard1_replica1(B) 
machine 2- engineeringlogs_shard2_replica1(A1) , micrologs_shard2_replica1(B1)

query time join on engineeringlogs_shard1_replica1 (A):

fq: "\{!join from=Log_type to=Log_type 
fromIndex=micrologs_shard1_replica1}SerialNumber:\"000123456789\""

want to perform join across A and A1 on same machine 1,but it is not working 
fine. error is:

"error": \{ "metadata": [ "error-class", 
"org.apache.solr.common.SolrException", "root-error-class", 
"org.apache.solr.common.SolrException" ], "msg": "Cross-core join: no such core 
micrologs_shard1_replica1", "code": 400 }

Please guide me how should i proceed so that this join query will work fine for 
sharded collection for solr4 cloud.

> Support joining in a distributed environment.
> -
>
> Key: LUCENE-3759
> URL: https://issues.apache.org/jira/browse/LUCENE-3759
> Project: Lucene - Core
>  Issue Type: Improvement
>  Components: modules/join
>Reporter: Martijn van Groningen
>Priority: Major
>
> Add two more methods in JoinUtil to support joining in a distributed manner.
> * Method to retrieve all from values.
> * Method to create a TermsQuery based on a set of from terms.
> With these two methods distributed joining can be supported following these 
> steps:
> # Retrieve from values from each shard
> # Merge the retrieved from values. 
> # Create a TermsQuery based on the merged from terms and send this query to 
> all shards. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Comment Edited] (SOLR-8297) Allow join query over 2 sharded collections: enhance functionality and exception handling

2018-07-31 Thread jyoti Tiwari (JIRA)


[ 
https://issues.apache.org/jira/browse/SOLR-8297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16563802#comment-16563802
 ] 

jyoti Tiwari edited comment on SOLR-8297 at 7/31/18 3:08 PM:
-

Erick:

i guess i am fulfilling all condition to run solr join query given by you in 
points A) exception handling and B) functional enhancement ,

details:

solr version: 4

total nodes: 2

total collection: 2, let say engineeringlogs1, engineeringlogs2

total core in one node: engineeringlogs1_shard1_replica1 and 
engineeringlogs2_shard1_replica1

 total core in 2nd node: engineeringlogs1_shard2_replica1 and 
engineeringlogs2_shard2_replica1

trying to join over over one node between two core, 
(engineeringlogs1_shard1_replica1 and engineeringlogs2_shard1_replica1)

query:

on one default core: engineeringlogs1_shard1_replica1

{!join from=Maximum_Battery_Charge to=Check_Battery_Charge 
fromIndex=engineeringlogs2_shard1_replica1}Initial_Battery_Charge: "87%"

 

but stil this issue is coming

find below error:

"error": \{ "metadata": [ "error-class", 
"org.apache.solr.common.SolrException", "root-error-class", 
"org.apache.solr.common.SolrException" ], "msg": "Cross-core join: no such core 
engineeringlogs2_shard1_replica1", "code": 400 } }

Please get me a solution how i can resolve this issue.

 


was (Author: jyoti609):
Erick:

i guess i am fulfilling all condition to run solr join query given by you in 
points A) exception handling and B) functional enhancement ,

details:

solr version: 4

total nodes: 2

total collection: 2, let say engineeringlogs1, engineeringlogs2

total core in one node: engineeringlogs1_shard1_replica1 and 
engineeringlogs2_shard1_replica1

 total core in 2nd node: engineeringlogs1_shard2_replica1 and 
engineeringlogs2_shard2_replica1

trying to join over over one node between two core, 
(engineeringlogs1_shard1_replica1 and engineeringlogs2_shard1_replica1)

query:

on one default core: engineeringlogs1_shard1_replica1

{!join from=Maximum_Battery_Charge to=Check_Battery_Charge 
fromIndex=engineeringlogs2_shard1_replica1}

Initial_Battery_Charge: "87%"

but stil this issue is coming

find below error:

"error": \{ "metadata": [ "error-class", 
"org.apache.solr.common.SolrException", "root-error-class", 
"org.apache.solr.common.SolrException" ], "msg": "Cross-core join: no such core 
engineeringlogs2_shard1_replica1", "code": 400 } }

Please get me a solution how i can resolve this issue.

 

> Allow join query over 2 sharded collections: enhance functionality and 
> exception handling
> -
>
> Key: SOLR-8297
> URL: https://issues.apache.org/jira/browse/SOLR-8297
> Project: Solr
>  Issue Type: Improvement
>  Components: SolrCloud
>Affects Versions: 5.3
>Reporter: Paul Blanchaert
>Priority: Major
> Attachments: SOLR-8297.patch, SOLR-8297_Latest.patch
>
>
> h2. Proposal
> h3. General Idea
> Approach [~shikhasomani]'s range check algorithm to the most cases
> h3. Join behavior depending on router types of joined collections
> || to\\from ||CompositeId||Implicit||
> ||CompositeId| shard range check, see table below | allow |
> ||Implicit| allow | shard to shard |
> h3. CompositeId to CompositeId join behaviour for certain number of shards
>  
> || to\\from ||single||>1||
> ||single| allow (as is) | allow (range check) |
> ||>1| allow (as is) | per shard range check |
> h3. Rules from the tables above
> * joining from/to CompositeId and Implicit is blindly allowed, it pick ups 
> any collocated replica, because users who do that probably understand what 
> they do.
> * when both sides are Implicit let's join shards by name. ie if request hits 
> collectionTO_shardY_replica2 at a node, the collocated 
> collectionFROM_shardY_replica* is expected.
> * when both sides are CompositeId
> ** from single shard to single shard - nobrainer, just needs collocated 
> replica;
> ** from multiple shards to single shard - all "from" shards (any it's 
> replicas) are picked for joining 
> ** from single shard to multiple shards - existing SOLR-4905 functionality
> ** from multiple to multiple - generic range check algorithm
> ### check that fromField and toField are router.keys in these collections
> ### take shard range for the current "to" collection replica (keep in mind 
> that request is distributed across "to" collection shards)   
> ### enumerate "from" collection shrads, find their subset which covers "to" 
> shard range (this allows to handle any number of shards at both sides)
> ### pickup collocated replicas of these "from" shard subset 
> h3. Caveat 
> this is quite sensitive to shard allocation (and/or replica placement) ie 
> failed "from" replica cannot be collocated with the required "to" shard.  
> h2. Initial 

[jira] [Comment Edited] (SOLR-8297) Allow join query over 2 sharded collections: enhance functionality and exception handling

2018-07-31 Thread jyoti Tiwari (JIRA)


[ 
https://issues.apache.org/jira/browse/SOLR-8297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16563802#comment-16563802
 ] 

jyoti Tiwari edited comment on SOLR-8297 at 7/31/18 3:06 PM:
-

Erick:

i guess i am fulfilling all condition to run solr join query given by you in 
points A) exception handling and B) functional enhancement ,

details:

solr version: 4

total nodes: 2

total collection: 2, let say engineeringlogs1, engineeringlogs2

total core in one node: engineeringlogs1_shard1_replica1 and 
engineeringlogs2_shard1_replica1

 total core in 2nd node: engineeringlogs1_shard2_replica1 and 
engineeringlogs2_shard2_replica1

trying to join over over one node between two core, 
(engineeringlogs1_shard1_replica1 and engineeringlogs2_shard1_replica1)

query:

on one default core: engineeringlogs1_shard1_replica1

{!join from=Maximum_Battery_Charge to=Check_Battery_Charge 
fromIndex=engineeringlogs2_shard1_replica1}

Initial_Battery_Charge: "87%"

but stil this issue is coming

find below error:

"error": \{ "metadata": [ "error-class", 
"org.apache.solr.common.SolrException", "root-error-class", 
"org.apache.solr.common.SolrException" ], "msg": "Cross-core join: no such core 
engineeringlogs2_shard1_replica1", "code": 400 } }

Please get me a solution how i can resolve this issue.

 


was (Author: jyoti609):
Erick:

i guess i am fulfilling all conditonPlease given in points A) exception 
handling and B) B) functional enhancement ,

details:

solr version: 4

total nodes: 2

total collection: 2, let say engineeringlogs1, engineeringlogs2

total core in one node: engineeringlogs1_shard1_replica1 and 
engineeringlogs2_shard1_replica1

 total core in 2nd node: engineeringlogs1_shard2_replica1 and 
engineeringlogs2_shard2_replica1

trying to join over over one node between two core, 
(engineeringlogs1_shard1_replica1 and engineeringlogs2_shard1_replica1)

query:

on one default core: engineeringlogs1_shard1_replica1

{!join from=Maximum_Battery_Charge to=Check_Battery_Charge 
fromIndex=engineeringlogs2_shard1_replica1}Initial_Battery_Charge: "87%"

but stil this issue is coming

find below error:

"error": \{ "metadata": [ "error-class", 
"org.apache.solr.common.SolrException", "root-error-class", 
"org.apache.solr.common.SolrException" ], "msg": "Cross-core join: no such core 
engineeringlogs2_shard1_replica1", "code": 400 } }

Please get me a solution how i can resolve this issue.

 

> Allow join query over 2 sharded collections: enhance functionality and 
> exception handling
> -
>
> Key: SOLR-8297
> URL: https://issues.apache.org/jira/browse/SOLR-8297
> Project: Solr
>  Issue Type: Improvement
>  Components: SolrCloud
>Affects Versions: 5.3
>Reporter: Paul Blanchaert
>Priority: Major
> Attachments: SOLR-8297.patch, SOLR-8297_Latest.patch
>
>
> h2. Proposal
> h3. General Idea
> Approach [~shikhasomani]'s range check algorithm to the most cases
> h3. Join behavior depending on router types of joined collections
> || to\\from ||CompositeId||Implicit||
> ||CompositeId| shard range check, see table below | allow |
> ||Implicit| allow | shard to shard |
> h3. CompositeId to CompositeId join behaviour for certain number of shards
>  
> || to\\from ||single||>1||
> ||single| allow (as is) | allow (range check) |
> ||>1| allow (as is) | per shard range check |
> h3. Rules from the tables above
> * joining from/to CompositeId and Implicit is blindly allowed, it pick ups 
> any collocated replica, because users who do that probably understand what 
> they do.
> * when both sides are Implicit let's join shards by name. ie if request hits 
> collectionTO_shardY_replica2 at a node, the collocated 
> collectionFROM_shardY_replica* is expected.
> * when both sides are CompositeId
> ** from single shard to single shard - nobrainer, just needs collocated 
> replica;
> ** from multiple shards to single shard - all "from" shards (any it's 
> replicas) are picked for joining 
> ** from single shard to multiple shards - existing SOLR-4905 functionality
> ** from multiple to multiple - generic range check algorithm
> ### check that fromField and toField are router.keys in these collections
> ### take shard range for the current "to" collection replica (keep in mind 
> that request is distributed across "to" collection shards)   
> ### enumerate "from" collection shrads, find their subset which covers "to" 
> shard range (this allows to handle any number of shards at both sides)
> ### pickup collocated replicas of these "from" shard subset 
> h3. Caveat 
> this is quite sensitive to shard allocation (and/or replica placement) ie 
> failed "from" replica cannot be collocated with the required "to" shard.  
> h2. Initial Description
> Enhancement based on 

[jira] [Commented] (SOLR-8297) Allow join query over 2 sharded collections: enhance functionality and exception handling

2018-07-31 Thread jyoti Tiwari (JIRA)


[ 
https://issues.apache.org/jira/browse/SOLR-8297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16563802#comment-16563802
 ] 

jyoti Tiwari commented on SOLR-8297:


Erick:

i guess i am fulfilling all conditonPlease given in points A) exception 
handling and B) B) functional enhancement ,

details:

solr version: 4

total nodes: 2

total collection: 2, let say engineeringlogs1, engineeringlogs2

total core in one node: engineeringlogs1_shard1_replica1 and 
engineeringlogs2_shard1_replica1

 total core in 2nd node: engineeringlogs1_shard2_replica1 and 
engineeringlogs2_shard2_replica1

trying to join over over one node between two core, 
(engineeringlogs1_shard1_replica1 and engineeringlogs2_shard1_replica1)

query:

on one default core: engineeringlogs1_shard1_replica1

{!join from=Maximum_Battery_Charge to=Check_Battery_Charge 
fromIndex=engineeringlogs2_shard1_replica1}Initial_Battery_Charge: "87%"

but stil this issue is coming

find below error:

"error": \{ "metadata": [ "error-class", 
"org.apache.solr.common.SolrException", "root-error-class", 
"org.apache.solr.common.SolrException" ], "msg": "Cross-core join: no such core 
engineeringlogs2_shard1_replica1", "code": 400 } }

Please get me a solution how i can resolve this issue.

 

> Allow join query over 2 sharded collections: enhance functionality and 
> exception handling
> -
>
> Key: SOLR-8297
> URL: https://issues.apache.org/jira/browse/SOLR-8297
> Project: Solr
>  Issue Type: Improvement
>  Components: SolrCloud
>Affects Versions: 5.3
>Reporter: Paul Blanchaert
>Priority: Major
> Attachments: SOLR-8297.patch, SOLR-8297_Latest.patch
>
>
> h2. Proposal
> h3. General Idea
> Approach [~shikhasomani]'s range check algorithm to the most cases
> h3. Join behavior depending on router types of joined collections
> || to\\from ||CompositeId||Implicit||
> ||CompositeId| shard range check, see table below | allow |
> ||Implicit| allow | shard to shard |
> h3. CompositeId to CompositeId join behaviour for certain number of shards
>  
> || to\\from ||single||>1||
> ||single| allow (as is) | allow (range check) |
> ||>1| allow (as is) | per shard range check |
> h3. Rules from the tables above
> * joining from/to CompositeId and Implicit is blindly allowed, it pick ups 
> any collocated replica, because users who do that probably understand what 
> they do.
> * when both sides are Implicit let's join shards by name. ie if request hits 
> collectionTO_shardY_replica2 at a node, the collocated 
> collectionFROM_shardY_replica* is expected.
> * when both sides are CompositeId
> ** from single shard to single shard - nobrainer, just needs collocated 
> replica;
> ** from multiple shards to single shard - all "from" shards (any it's 
> replicas) are picked for joining 
> ** from single shard to multiple shards - existing SOLR-4905 functionality
> ** from multiple to multiple - generic range check algorithm
> ### check that fromField and toField are router.keys in these collections
> ### take shard range for the current "to" collection replica (keep in mind 
> that request is distributed across "to" collection shards)   
> ### enumerate "from" collection shrads, find their subset which covers "to" 
> shard range (this allows to handle any number of shards at both sides)
> ### pickup collocated replicas of these "from" shard subset 
> h3. Caveat 
> this is quite sensitive to shard allocation (and/or replica placement) ie 
> failed "from" replica cannot be collocated with the required "to" shard.  
> h2. Initial Description
> Enhancement based on SOLR-4905. New Jira issue raised as suggested by Mikhail 
> Khludnev.
> A) exception handling:
> The exception "SolrCloud join: multiple shards not yet supported" thrown in 
> the function findLocalReplicaForFromIndex of JoinQParserPlugin is not 
> triggered correctly: In my use-case, I've a join on a facet.query and when my 
> results are only found in 1 shard and the facet.query with the join is 
> querying the last replica of the last slice, then the exception is not thrown.
> I believe it's better to verify the nr of slices when we want to verify the  
> "multiple shards not yet supported" exception (so exception is thrown when 
> zkController.getClusterState().getSlices(fromIndex).size()>1).
> B) functional enhancement:
> I would expect that there is no problem to perform a cross-core join over 
> sharded collections when the following conditions are met:
> 1) both collections are sharded with the same replicationFactor and numShards
> 2) router.field of the collections is set to the same "key-field" (collection 
> of "fromindex" has router.field = "from" field and collection joined to has 
> router.field = "to" field)
> The router.field setup ensures that documents 

[jira] [Comment Edited] (SOLR-8297) Allow join query over 2 sharded collections: enhance functionality and exception handling

2018-07-31 Thread jyoti Tiwari (JIRA)


[ 
https://issues.apache.org/jira/browse/SOLR-8297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16563522#comment-16563522
 ] 

jyoti Tiwari edited comment on SOLR-8297 at 7/31/18 11:52 AM:
--

Hi Shikha, i need your help on one issue i am facing currently on solr4 join 
query.
 i am trying to make cross join query for distributed collection on cloud i.e 
engineeringlogs_shard1_replica1 (core1)and 
engineeringlogs2_shard1_replica1(core2)  for one node, but after join querying 
on collection engineeringlogs2 with engineeringlogs:

{!join from=Maximum_Battery_Charge to=Maximum_Battery_Charge 
fromIndex=engineeringlogs_shard1_replica1}

Time_Diff_Start_End_BC:"1281"

it is giving error: Cross-core join: no such core 
engineeringlogs_shard1_replica1] with root cause

please help me on this issue, whether i can make this cross join query on 
single node on solr4.x or i need to upgrade solr version or i am making wrong 
solr query.
 Please help


was (Author: jyoti609):
Hi Shikha, i need your help on one issue i am facing currently on solr4 join 
query.
i am trying to make cross join query for distributed collection on cloud i.e 
engineeringlogs_shard1_replica1 and engineeringlogs2_shard1_replica1 for one 
node, but after join querying: {!join from=Maximum_Battery_Charge 
to=Maximum_Battery_Charge 
fromIndex=engineeringlogs_shard1_replica1}Time_Diff_Start_End_BC:"1281"

it is giving error: Cross-core join: no such core 
engineeringlogs_shard1_replica1] with root cause 


please help me on this issue, whether i can make this cross join query on 
single node on solr4.x or i need to upgrade solr version or i am making wrong 
solr query.
Please help

> Allow join query over 2 sharded collections: enhance functionality and 
> exception handling
> -
>
> Key: SOLR-8297
> URL: https://issues.apache.org/jira/browse/SOLR-8297
> Project: Solr
>  Issue Type: Improvement
>  Components: SolrCloud
>Affects Versions: 5.3
>Reporter: Paul Blanchaert
>Priority: Major
> Attachments: SOLR-8297.patch, SOLR-8297_Latest.patch
>
>
> h2. Proposal
> h3. General Idea
> Approach [~shikhasomani]'s range check algorithm to the most cases
> h3. Join behavior depending on router types of joined collections
> || to\\from ||CompositeId||Implicit||
> ||CompositeId| shard range check, see table below | allow |
> ||Implicit| allow | shard to shard |
> h3. CompositeId to CompositeId join behaviour for certain number of shards
>  
> || to\\from ||single||>1||
> ||single| allow (as is) | allow (range check) |
> ||>1| allow (as is) | per shard range check |
> h3. Rules from the tables above
> * joining from/to CompositeId and Implicit is blindly allowed, it pick ups 
> any collocated replica, because users who do that probably understand what 
> they do.
> * when both sides are Implicit let's join shards by name. ie if request hits 
> collectionTO_shardY_replica2 at a node, the collocated 
> collectionFROM_shardY_replica* is expected.
> * when both sides are CompositeId
> ** from single shard to single shard - nobrainer, just needs collocated 
> replica;
> ** from multiple shards to single shard - all "from" shards (any it's 
> replicas) are picked for joining 
> ** from single shard to multiple shards - existing SOLR-4905 functionality
> ** from multiple to multiple - generic range check algorithm
> ### check that fromField and toField are router.keys in these collections
> ### take shard range for the current "to" collection replica (keep in mind 
> that request is distributed across "to" collection shards)   
> ### enumerate "from" collection shrads, find their subset which covers "to" 
> shard range (this allows to handle any number of shards at both sides)
> ### pickup collocated replicas of these "from" shard subset 
> h3. Caveat 
> this is quite sensitive to shard allocation (and/or replica placement) ie 
> failed "from" replica cannot be collocated with the required "to" shard.  
> h2. Initial Description
> Enhancement based on SOLR-4905. New Jira issue raised as suggested by Mikhail 
> Khludnev.
> A) exception handling:
> The exception "SolrCloud join: multiple shards not yet supported" thrown in 
> the function findLocalReplicaForFromIndex of JoinQParserPlugin is not 
> triggered correctly: In my use-case, I've a join on a facet.query and when my 
> results are only found in 1 shard and the facet.query with the join is 
> querying the last replica of the last slice, then the exception is not thrown.
> I believe it's better to verify the nr of slices when we want to verify the  
> "multiple shards not yet supported" exception (so exception is thrown when 
> zkController.getClusterState().getSlices(fromIndex).size()>1).
> B) functional enhancement:
> I would expect that there 

[jira] [Commented] (SOLR-8297) Allow join query over 2 sharded collections: enhance functionality and exception handling

2018-07-31 Thread jyoti Tiwari (JIRA)


[ 
https://issues.apache.org/jira/browse/SOLR-8297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16563522#comment-16563522
 ] 

jyoti Tiwari commented on SOLR-8297:


Hi Shikha, i need your help on one issue i am facing currently on solr4 join 
query.
i am trying to make cross join query for distributed collection on cloud i.e 
engineeringlogs_shard1_replica1 and engineeringlogs2_shard1_replica1 for one 
node, but after join querying: {!join from=Maximum_Battery_Charge 
to=Maximum_Battery_Charge 
fromIndex=engineeringlogs_shard1_replica1}Time_Diff_Start_End_BC:"1281"

it is giving error: Cross-core join: no such core 
engineeringlogs_shard1_replica1] with root cause 


please help me on this issue, whether i can make this cross join query on 
single node on solr4.x or i need to upgrade solr version or i am making wrong 
solr query.
Please help

> Allow join query over 2 sharded collections: enhance functionality and 
> exception handling
> -
>
> Key: SOLR-8297
> URL: https://issues.apache.org/jira/browse/SOLR-8297
> Project: Solr
>  Issue Type: Improvement
>  Components: SolrCloud
>Affects Versions: 5.3
>Reporter: Paul Blanchaert
>Priority: Major
> Attachments: SOLR-8297.patch, SOLR-8297_Latest.patch
>
>
> h2. Proposal
> h3. General Idea
> Approach [~shikhasomani]'s range check algorithm to the most cases
> h3. Join behavior depending on router types of joined collections
> || to\\from ||CompositeId||Implicit||
> ||CompositeId| shard range check, see table below | allow |
> ||Implicit| allow | shard to shard |
> h3. CompositeId to CompositeId join behaviour for certain number of shards
>  
> || to\\from ||single||>1||
> ||single| allow (as is) | allow (range check) |
> ||>1| allow (as is) | per shard range check |
> h3. Rules from the tables above
> * joining from/to CompositeId and Implicit is blindly allowed, it pick ups 
> any collocated replica, because users who do that probably understand what 
> they do.
> * when both sides are Implicit let's join shards by name. ie if request hits 
> collectionTO_shardY_replica2 at a node, the collocated 
> collectionFROM_shardY_replica* is expected.
> * when both sides are CompositeId
> ** from single shard to single shard - nobrainer, just needs collocated 
> replica;
> ** from multiple shards to single shard - all "from" shards (any it's 
> replicas) are picked for joining 
> ** from single shard to multiple shards - existing SOLR-4905 functionality
> ** from multiple to multiple - generic range check algorithm
> ### check that fromField and toField are router.keys in these collections
> ### take shard range for the current "to" collection replica (keep in mind 
> that request is distributed across "to" collection shards)   
> ### enumerate "from" collection shrads, find their subset which covers "to" 
> shard range (this allows to handle any number of shards at both sides)
> ### pickup collocated replicas of these "from" shard subset 
> h3. Caveat 
> this is quite sensitive to shard allocation (and/or replica placement) ie 
> failed "from" replica cannot be collocated with the required "to" shard.  
> h2. Initial Description
> Enhancement based on SOLR-4905. New Jira issue raised as suggested by Mikhail 
> Khludnev.
> A) exception handling:
> The exception "SolrCloud join: multiple shards not yet supported" thrown in 
> the function findLocalReplicaForFromIndex of JoinQParserPlugin is not 
> triggered correctly: In my use-case, I've a join on a facet.query and when my 
> results are only found in 1 shard and the facet.query with the join is 
> querying the last replica of the last slice, then the exception is not thrown.
> I believe it's better to verify the nr of slices when we want to verify the  
> "multiple shards not yet supported" exception (so exception is thrown when 
> zkController.getClusterState().getSlices(fromIndex).size()>1).
> B) functional enhancement:
> I would expect that there is no problem to perform a cross-core join over 
> sharded collections when the following conditions are met:
> 1) both collections are sharded with the same replicationFactor and numShards
> 2) router.field of the collections is set to the same "key-field" (collection 
> of "fromindex" has router.field = "from" field and collection joined to has 
> router.field = "to" field)
> The router.field setup ensures that documents with the same "key-field" are 
> routed to the same node. 
> So the combination based on the "key-field" should always be available within 
> the same node.
> From a user perspective, I believe these assumptions seem to be a "normal" 
> use-case in the cross-core join in SolrCloud.
> Hope this helps



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)