[GitHub] [lucene-solr] gus-asf commented on pull request #1694: SOLR-14680: Provide simple interfaces to our concrete SolrCloud classes

2020-07-26 Thread GitBox


gus-asf commented on pull request #1694:
URL: https://github.com/apache/lucene-solr/pull/1694#issuecomment-664125851


   > > These interfaces look like a good way to begin. Thoughts: This is an 
excellent point at which to consider and then stick to a preferred set of 
terminology. My favorites are:
   > 
   > There is no way to have a "machine" abstraction in Solr. We can start of a 
`Node` as an atomic unit. I wanted to carefully avoid the class names already 
taken up so that existing code can be left as it is
   
   Yeah machine is a difficult notion as it's a real world thing entirely 
outside java. It probably has to be optional and provided by sysprop or env 
var. and even so might be reducible to a property on node. Certainly detecting 
it would be fraught with peril. But machine designations (and rack 
designations) might be important to some folks. 



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[jira] [Commented] (SOLR-14681) Delete Jar with Command

2020-07-26 Thread Vantagepointx (Jira)


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

Vantagepointx commented on SOLR-14681:
--

Hi, Very informative post and really appreciate the effort you put into it. 
Every one now a days is trying to gather more information about http://www.vantagepointx.com/ />Forex Trading .

> Delete Jar with Command
> ---
>
> Key: SOLR-14681
> URL: https://issues.apache.org/jira/browse/SOLR-14681
> Project: Solr
>  Issue Type: Improvement
>  Security Level: Public(Default Security Level. Issues are Public) 
>  Components: Package Manager
>Affects Versions: master (9.0)
>Reporter: Marcus Eagan
>Priority: Major
>
> We need to build logic that will delete a jar that represents a package. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (SOLR-14681) Delete Jar with Command

2020-07-26 Thread Marcus Eagan (Jira)


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

Marcus Eagan commented on SOLR-14681:
-

[SOLR-14604 |https://issues.apache.org/jira/browse/SOLR-14604]needs this

> Delete Jar with Command
> ---
>
> Key: SOLR-14681
> URL: https://issues.apache.org/jira/browse/SOLR-14681
> Project: Solr
>  Issue Type: Improvement
>  Security Level: Public(Default Security Level. Issues are Public) 
>  Components: Package Manager
>Affects Versions: master (9.0)
>Reporter: Marcus Eagan
>Priority: Major
>
> We need to build logic that will delete a jar that represents a package. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Created] (SOLR-14681) Delete Jar with Command

2020-07-26 Thread Marcus Eagan (Jira)
Marcus Eagan created SOLR-14681:
---

 Summary: Delete Jar with Command
 Key: SOLR-14681
 URL: https://issues.apache.org/jira/browse/SOLR-14681
 Project: Solr
  Issue Type: Improvement
  Security Level: Public (Default Security Level. Issues are Public)
  Components: Package Manager
Affects Versions: master (9.0)
Reporter: Marcus Eagan


We need to build logic that will delete a jar that represents a package. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[GitHub] [lucene-solr] noblepaul commented on pull request #1694: SOLR-14680: Provide simple interfaces to our concrete SolrCloud classes

2020-07-26 Thread GitBox


noblepaul commented on pull request #1694:
URL: https://github.com/apache/lucene-solr/pull/1694#issuecomment-664094145


   > Can we start simple by defining the external interface without the 
required changes to internal classes first? Will make a smaller PR easier to 
discuss.
   
   Feel free to ignore the implementing classes. That was to demonstrate one 
way of implementing these interfaces. I'm happy to focus on the interfaces 
inside the `sdk` package



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] noblepaul commented on a change in pull request #1694: SOLR-14680: Provide simple interfaces to our concrete SolrCloud classes

2020-07-26 Thread GitBox


noblepaul commented on a change in pull request #1694:
URL: https://github.com/apache/lucene-solr/pull/1694#discussion_r460627824



##
File path: 
solr/solrj/src/java/org/apache/solr/common/cloud/sdk/SolrCollection.java
##
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.solr.common.cloud.sdk;
+
+import org.apache.solr.common.util.SimpleMap;
+
+/** Represents a collection in Solr */
+public interface SolrCollection {

Review comment:
   That should be a utility method outside





This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] noblepaul commented on a change in pull request #1694: SOLR-14680: Provide simple interfaces to our concrete SolrCloud classes

2020-07-26 Thread GitBox


noblepaul commented on a change in pull request #1694:
URL: https://github.com/apache/lucene-solr/pull/1694#discussion_r460627654



##
File path: solr/solrj/src/java/org/apache/solr/common/cloud/sdk/SolrCluster.java
##
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.solr.common.cloud.sdk;
+
+import org.apache.solr.common.util.SimpleMap;
+
+/**
+ * Represents a Solr cluster
+ */
+public interface SolrCluster {
+  /** collections in the cluster */
+  SimpleMap collections();

Review comment:
   Yes, I wanted to include aliases. Where do you propose it to be there. 
   
   I would say , There should be no `Alias` class/interface. 
   
   It should be as simple as 
   `SolrCluster#collections#get(String name , include alias) `
   
   and 
   
   ` SolrCollection#aliases() returns List`

##
File path: solr/solrj/src/java/org/apache/solr/common/cloud/sdk/SolrCluster.java
##
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.solr.common.cloud.sdk;
+
+import org.apache.solr.common.util.SimpleMap;
+
+/**
+ * Represents a Solr cluster
+ */
+public interface SolrCluster {
+  /** collections in the cluster */
+  SimpleMap collections();

Review comment:
   Yes, I wanted to include aliases. Where do you propose it to be there?
   
   I would say , There should be no `Alias` class/interface. 
   
   It should be as simple as 
   `SolrCluster#collections#get(String name , include alias) `
   
   and 
   
   ` SolrCollection#aliases() returns List`





This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] noblepaul commented on a change in pull request #1694: SOLR-14680: Provide simple interfaces to our concrete SolrCloud classes

2020-07-26 Thread GitBox


noblepaul commented on a change in pull request #1694:
URL: https://github.com/apache/lucene-solr/pull/1694#discussion_r460626596



##
File path: solr/solrj/src/java/org/apache/solr/common/cloud/sdk/SolrCluster.java
##
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.solr.common.cloud.sdk;
+
+import org.apache.solr.common.util.SimpleMap;
+
+/**
+ * Represents a Solr cluster
+ */
+public interface SolrCluster {

Review comment:
   I know. Imagine this will also be used outside of Solr as a part of 
SolrJ. So if you read some client code, 
   
   `Cluster cluster;`
   
   is less readable compared to
   
   `SolrCluster solrCluster`;
   
   Eventually, I would wish to replace a lot of SolrJ code/API with a standard 
set of interfaces.
   
   





This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] noblepaul commented on pull request #1694: SOLR-14680: Provide simple interfaces to our concrete SolrCloud classes

2020-07-26 Thread GitBox


noblepaul commented on pull request #1694:
URL: https://github.com/apache/lucene-solr/pull/1694#issuecomment-664095650


   >These interfaces look like a good way to begin. Thoughts: This is an 
excellent point at which to consider and then stick to a preferred set of 
terminology. My favorites are:
   
   There is no way to have  a "machine" abstraction in Solr. We can start of a 
`Node` as an atomic unit. I wanted to carefully avoid the class names already 
taken up so that existing code can be left as it is



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] noblepaul commented on pull request #1694: SOLR-14680: Provide simple interfaces to our concrete SolrCloud classes

2020-07-26 Thread GitBox


noblepaul commented on pull request #1694:
URL: https://github.com/apache/lucene-solr/pull/1694#issuecomment-664094746


   >I also feel this PR has a lot of overlap with the one I started to define 
an API for Autoscaling plugins #1684 
   
   Yes, totally.That ticket is trying to do something more than the scope of 
that ticket. I want to limit the scope of that ticket and have wider discussion 
on how a simple set of interfaces to represent the existing Solr cluster/cloud
   
   



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] chatman commented on a change in pull request #1694: SOLR-14680: Provide simple interfaces to our concrete SolrCloud classes

2020-07-26 Thread GitBox


chatman commented on a change in pull request #1694:
URL: https://github.com/apache/lucene-solr/pull/1694#discussion_r460623863



##
File path: solr/solrj/src/java/org/apache/solr/common/cloud/ClusterState.java
##
@@ -38,7 +43,7 @@
  * {@link ZkStateReader#getClusterState()}.
  * @lucene.experimental
  */
-public class ClusterState implements JSONWriter.Writable {
+public class ClusterState implements JSONWriter.Writable , SolrCluster {

Review comment:
   Let's rename Solr luster to Cluster.





This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] noblepaul commented on a change in pull request #1694: SOLR-14680: Provide simple interfaces to our concrete SolrCloud classes

2020-07-26 Thread GitBox


noblepaul commented on a change in pull request #1694:
URL: https://github.com/apache/lucene-solr/pull/1694#discussion_r460624050



##
File path: solr/solrj/src/java/org/apache/solr/common/cloud/sdk/SolrNode.java
##
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.solr.common.cloud.sdk;
+
+import org.apache.solr.common.util.SimpleMap;
+
+/**
+ * A read only view of a Solr node
+ */
+public interface SolrNode {
+
+  /** The node name */
+  String name();
+
+  String baseUrl(boolean isV2);
+
+  SimpleMap cores();

Review comment:
   I would say, that is something that can be easily computed from the 
`cores()` method and can be provided as a helper method elsewhere





This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] noblepaul commented on a change in pull request #1694: SOLR-14680: Provide simple interfaces to our concrete SolrCloud classes

2020-07-26 Thread GitBox


noblepaul commented on a change in pull request #1694:
URL: https://github.com/apache/lucene-solr/pull/1694#discussion_r460622520



##
File path: solr/solrj/src/java/org/apache/solr/common/cloud/ClusterState.java
##
@@ -38,7 +43,7 @@
  * {@link ZkStateReader#getClusterState()}.
  * @lucene.experimental
  */
-public class ClusterState implements JSONWriter.Writable {
+public class ClusterState implements JSONWriter.Writable , SolrCluster {

Review comment:
   We can have multiple implementations of `SolrCluster` .The idea of 
existing classes implementing these interfaces is to have readily available 
implementations





This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] noblepaul commented on a change in pull request #1694: SOLR-14680: Provide simple interfaces to our concrete SolrCloud classes

2020-07-26 Thread GitBox


noblepaul commented on a change in pull request #1694:
URL: https://github.com/apache/lucene-solr/pull/1694#discussion_r460622100



##
File path: 
solr/solrj/src/java/org/apache/solr/common/util/LinkedSimpleHashMap.java
##
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.solr.common.util;
+
+import java.util.LinkedHashMap;
+
+public class LinkedSimpleHashMap extends LinkedHashMap  
implements SimpleMap {

Review comment:
   yes, this was to demonstrate how to implement a default impl of 
`SimpleMap`
   
   





This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[jira] [Commented] (SOLR-11868) Deprecate CloudSolrClient.setIdField, use information from Zookeeper

2020-07-26 Thread David Smiley (Jira)


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

David Smiley commented on SOLR-11868:
-

Maybe also file an issue to make "id" the only allowed uniqueKey?

If you agree with that, I could imagine a further simplification such that we 
could remove uniqueKey from the schema as well.  Either you specify "id" or you 
don't; no need for more schema elements (complexity).

> Deprecate CloudSolrClient.setIdField, use information from Zookeeper
> 
>
> Key: SOLR-11868
> URL: https://issues.apache.org/jira/browse/SOLR-11868
> Project: Solr
>  Issue Type: Improvement
>Affects Versions: 7.2
>Reporter: Erick Erickson
>Assignee: Erick Erickson
>Priority: Major
> Fix For: 8.7
>
>
> IIUC idField has nothing to do with the  field. It's really
> the field used to route documents. Agreed, this is often the "id"
> field, but still
> In fact, over in UpdateReqeust.getRoutes(), it's passed as the "id"
> field to router.getTargetSlice() and just works, even though
> getTargetSlice is clearly designed to route on a field other than the
>  if we didn't just pass null as the "route" param.
> The confusing bit is that if I have a route field defined for my
> collection and want to use CloudSolrClient I have to figure out that I
> need to use the setIdField method to use that field for routing.
>  
> We should deprecate setIdField and refactor how this is used (i.e. 
> getRoutes). Need to beef up tests too I suspect.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[GitHub] [lucene-solr] gus-asf edited a comment on pull request #1694: SOLR-14680: Provide simple interfaces to our concrete SolrCloud classes

2020-07-26 Thread GitBox


gus-asf edited a comment on pull request #1694:
URL: https://github.com/apache/lucene-solr/pull/1694#issuecomment-664078634


   While marking things internal and external is good, a stronger possibility 
is to code more defensively and make "new plugins" get instantiated/injected 
with implementations of a facade that return instances of the interfaces. If 
those implementations can't just be cast to internal types we then have a much 
higher barrier to abuse (reflection). 
   
   As for package names I agree we need to think carefully about them. It is a 
question what the goal is too. If we're reworking the internals, sdk won't 
sound right at all. If we are building something only meant to be consumed by 
an outer layer of plugins to insulate the plugins from internal refactoring, 
something in that vein sounds fine (or maybe o.a.s.cloud.plugin.api?) Settling 
on what our goals are will help us decide what name is best. 



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] gus-asf commented on pull request #1694: SOLR-14680: Provide simple interfaces to our concrete SolrCloud classes

2020-07-26 Thread GitBox


gus-asf commented on pull request #1694:
URL: https://github.com/apache/lucene-solr/pull/1694#issuecomment-664078634


   While marking things internal and external is good, a stronger possibility 
to code more defensively and make "new plugins" get instantiated/injected with 
implementations of a facade that return instances of the interfaces. If those 
implementations can't just be cast to internal types we then have a much higher 
barrier to abuse (reflection). 
   
   As for package names I agree we need to think carefully about them. It is a 
question what the goal is too. If we're reworking the internals, sdk won't 
sound right at all. If we are building something only meant to be consumed by 
an outer layer of plugins to insulate the plugins from internal refactoring, 
something in that vein sounds fine (or maybe o.a.s.cloud.plugin.api?) Settling 
on what our goals are will help us decide what name is best. 



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[jira] [Commented] (SOLR-11868) Deprecate CloudSolrClient.setIdField, use information from Zookeeper

2020-07-26 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on SOLR-11868:


Commit f9410e14614d1f9ebb88226c287f38cd4d0b3d1f in lucene-solr's branch 
refs/heads/branch_8x from Erick Erickson
[ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=f9410e1 ]

SOLR-11868: CloudSolrClient.setIdField is confusing, it's really the routing 
field. Should be deprecated.


> Deprecate CloudSolrClient.setIdField, use information from Zookeeper
> 
>
> Key: SOLR-11868
> URL: https://issues.apache.org/jira/browse/SOLR-11868
> Project: Solr
>  Issue Type: Improvement
>Affects Versions: 7.2
>Reporter: Erick Erickson
>Assignee: Erick Erickson
>Priority: Major
>
> IIUC idField has nothing to do with the  field. It's really
> the field used to route documents. Agreed, this is often the "id"
> field, but still
> In fact, over in UpdateReqeust.getRoutes(), it's passed as the "id"
> field to router.getTargetSlice() and just works, even though
> getTargetSlice is clearly designed to route on a field other than the
>  if we didn't just pass null as the "route" param.
> The confusing bit is that if I have a route field defined for my
> collection and want to use CloudSolrClient I have to figure out that I
> need to use the setIdField method to use that field for routing.
>  
> We should deprecate setIdField and refactor how this is used (i.e. 
> getRoutes). Need to beef up tests too I suspect.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Resolved] (SOLR-11868) Deprecate CloudSolrClient.setIdField, use information from Zookeeper

2020-07-26 Thread Erick Erickson (Jira)


 [ 
https://issues.apache.org/jira/browse/SOLR-11868?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Erick Erickson resolved SOLR-11868.
---
Fix Version/s: 8.7
   Resolution: Fixed

> Deprecate CloudSolrClient.setIdField, use information from Zookeeper
> 
>
> Key: SOLR-11868
> URL: https://issues.apache.org/jira/browse/SOLR-11868
> Project: Solr
>  Issue Type: Improvement
>Affects Versions: 7.2
>Reporter: Erick Erickson
>Assignee: Erick Erickson
>Priority: Major
> Fix For: 8.7
>
>
> IIUC idField has nothing to do with the  field. It's really
> the field used to route documents. Agreed, this is often the "id"
> field, but still
> In fact, over in UpdateReqeust.getRoutes(), it's passed as the "id"
> field to router.getTargetSlice() and just works, even though
> getTargetSlice is clearly designed to route on a field other than the
>  if we didn't just pass null as the "route" param.
> The confusing bit is that if I have a route field defined for my
> collection and want to use CloudSolrClient I have to figure out that I
> need to use the setIdField method to use that field for routing.
>  
> We should deprecate setIdField and refactor how this is used (i.e. 
> getRoutes). Need to beef up tests too I suspect.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (SOLR-11868) Deprecate CloudSolrClient.setIdField, use information from Zookeeper

2020-07-26 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on SOLR-11868:


Commit 6bf5f4a87f40cd9afd3b9104423d0fe51f287259 in lucene-solr's branch 
refs/heads/master from Erick Erickson
[ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=6bf5f4a ]

SOLR-11868: CloudSolrClient.setIdField is confusing, it's really the routing 
field. Should be deprecated.


> Deprecate CloudSolrClient.setIdField, use information from Zookeeper
> 
>
> Key: SOLR-11868
> URL: https://issues.apache.org/jira/browse/SOLR-11868
> Project: Solr
>  Issue Type: Improvement
>Affects Versions: 7.2
>Reporter: Erick Erickson
>Assignee: Erick Erickson
>Priority: Major
>
> IIUC idField has nothing to do with the  field. It's really
> the field used to route documents. Agreed, this is often the "id"
> field, but still
> In fact, over in UpdateReqeust.getRoutes(), it's passed as the "id"
> field to router.getTargetSlice() and just works, even though
> getTargetSlice is clearly designed to route on a field other than the
>  if we didn't just pass null as the "route" param.
> The confusing bit is that if I have a route field defined for my
> collection and want to use CloudSolrClient I have to figure out that I
> need to use the setIdField method to use that field for routing.
>  
> We should deprecate setIdField and refactor how this is used (i.e. 
> getRoutes). Need to beef up tests too I suspect.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[GitHub] [lucene-solr] chatman commented on pull request #1694: SOLR-14680: Provide simple interfaces to our concrete SolrCloud classes

2020-07-26 Thread GitBox


chatman commented on pull request #1694:
URL: https://github.com/apache/lucene-solr/pull/1694#issuecomment-664052755


   As I suggested in the other PR on autoscaling, I feel we should change the 
package name:
   https://github.com/apache/lucene-solr/pull/1684#issuecomment-664051353
   
   Also, WDYT about marking the concrete classes DocCollection, Replica etc. 
with @lucene.internal to make it clear that they shouldn't be used directly 
from the plugins? Alternatively, we can mark these new interfaces in this PR 
with a new annotation (e.g. @solr.external) that signals to plugin writers that 
these will be stable for their use across versions.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] chatman edited a comment on pull request #1684: SOLR-14613: strongly typed initial proposal for plugin interface

2020-07-26 Thread GitBox


chatman edited a comment on pull request #1684:
URL: https://github.com/apache/lucene-solr/pull/1684#issuecomment-664051353


   > Gumi means “elastic” in Hebrew. I’ll change that package name to... what?
   
   I see that @noblepaul has used the name "o.a.s.common.cloud.sdk" in the 
other PR for SolrCloud specific interfaces. One day, I would hope all our 
internal code should use these interfaces, and having "sdk" then, IMHO, 
wouldn't be ideal. How about "o.a.s.cloud.interfaces" for that?
   
   Regarding other interfaces introduced here, how about 
"o.a.s.cloud.placements.interfaces" or "o.a.s.cloud.assignments.interfaces"?



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] chatman edited a comment on pull request #1684: SOLR-14613: strongly typed initial proposal for plugin interface

2020-07-26 Thread GitBox


chatman edited a comment on pull request #1684:
URL: https://github.com/apache/lucene-solr/pull/1684#issuecomment-664051353


   > Gumi means “elastic” in Hebrew. I’ll change that package name to... what?
   
   I see that @noblepaul has used the name "o.a.s.cloud.sdk" in the other PR 
for SolrCloud specific interfaces. One day, I would hope all our internal code 
should use these interfaces, and having "sdk" then, IMHO, wouldn't be ideal. 
How about "o.a.s.cloud.interfaces" for that?
   
   Regarding other interfaces introduced here, how about 
"o.a.s.cloud.placements.interfaces" or "o.a.s.cloud.assignments.interfaces"?



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] chatman commented on pull request #1684: SOLR-14613: strongly typed initial proposal for plugin interface

2020-07-26 Thread GitBox


chatman commented on pull request #1684:
URL: https://github.com/apache/lucene-solr/pull/1684#issuecomment-664051353


   > Gumi means “elastic” in Hebrew. I’ll change that package name to... what?
   I see that @noblepaul has used the name "o.a.s.cloud.sdk" in the other PR 
for SolrCloud specific interfaces. One day, I would hope all our internal code 
should use these interfaces, and having "sdk" then, IMHO, wouldn't be ideal. 
How about "o.a.s.cloud.interfaces" for that?
   
   Regarding other interfaces introduced here, how about 
"o.a.s.cloud.placements.interfaces" or "o.a.s.cloud.assignments.interfaces"?



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] murblanc edited a comment on pull request #1694: SOLR-14680: Provide simple interfaces to our concrete SolrCloud classes

2020-07-26 Thread GitBox


murblanc edited a comment on pull request #1694:
URL: https://github.com/apache/lucene-solr/pull/1694#issuecomment-66404


   Snitches have a target (at least node or replica, but one could imagine 
Cluster, collection or shard if such snitches do not already exist).
   Would be helpful for all these classes to implement a common interface so 
they can be passed when a notch target is needed in Autoscaling plugins.
   
   (See in 
https://github.com/apache/lucene-solr/pull/1684/files#diff-fc8bc5eb94b9e48a24c2ec768733e72b)



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] murblanc commented on pull request #1694: SOLR-14680: Provide simple interfaces to our concrete SolrCloud classes

2020-07-26 Thread GitBox


murblanc commented on pull request #1694:
URL: https://github.com/apache/lucene-solr/pull/1694#issuecomment-66404


   Snitches have a target (at least node or replica, but one could imagine 
Cluster, collection or shard if such snitches do not already exist).
   Would be helpful for all these classes to implement a common interface so 
they can be passed when a notch target is needed in Autoscaling plugins.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] murblanc commented on pull request #1684: SOLR-14613: strongly typed initial proposal for plugin interface

2020-07-26 Thread GitBox


murblanc commented on pull request #1684:
URL: https://github.com/apache/lucene-solr/pull/1684#issuecomment-664048647


   The work orders are the actions decided by the plugin to satisfy a request 
or requests sent by a Collection API command implementation.
   The chain is: Collection API -> command execution builds requests -> plugin 
code running, returns work orders -> collection API command execution executes 
the work orders resulting in cluster state changes and node changes 
(creating/deleting replicas).
   Maybe create collection doesn’t have to be decided by plugin code since it 
has to happen in any case when a new collection is created. It could be added 
by the collection api command itself (but then tricky interaction with the 
cluster state classes given it’s a partially built collection).
   
   Gumi means “elastic” in Hebrew. I’ll change that package name to... what?
   
   I’ll remove the cluster state classes (SolrCollection, Shard, Replica) and 
assume plugins get their view of cluster state elsewhere.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] chatman commented on pull request #1684: SOLR-14613: strongly typed initial proposal for plugin interface

2020-07-26 Thread GitBox


chatman commented on pull request #1684:
URL: https://github.com/apache/lucene-solr/pull/1684#issuecomment-664047131


   What does "gumi" mean?



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] chatman commented on pull request #1684: SOLR-14613: strongly typed initial proposal for plugin interface

2020-07-26 Thread GitBox


chatman commented on pull request #1684:
URL: https://github.com/apache/lucene-solr/pull/1684#issuecomment-664046970


   > There’s no direct mapping between work orders and collection API. I 
consider work orders the basic building blocs from which collection API actions 
can be built. Creating a collection (adding the data in ZK, checking for the 
config set etc) is different from adding a replica to an existing collection. 
Hence the two work orders. The “new collection” doesn’t add any replicas to the 
collection but prepares the system to accept adding replicas replicas for the 
collection. Obviously when adding a replica to an existing collection, that 
preparation work is not required.
   
   Why can't we have a single type of work order that requests for the 
preparation of n number of replicas (where n is 1 in case of ADDREPLICA and n 
is numShards*replicationFactor in case of CREATE)?



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] murblanc edited a comment on pull request #1684: SOLR-14613: strongly typed initial proposal for plugin interface

2020-07-26 Thread GitBox


murblanc edited a comment on pull request #1684:
URL: https://github.com/apache/lucene-solr/pull/1684#issuecomment-664046112


   There’s no direct mapping between work orders and collection API. I consider 
work orders the basic building blocs from which collection API actions can be 
built. Creating a collection (adding the data in ZK, checking for the config 
set etc) is different from adding a replica to an existing collection. Hence 
the two work orders. The “new collection” doesn’t add any replicas to the 
collection but prepares the system to accept adding replicas replicas for the 
collection. Obviously when adding a replica to an existing collection, that 
preparation work is not required.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] murblanc commented on pull request #1684: SOLR-14613: strongly typed initial proposal for plugin interface

2020-07-26 Thread GitBox


murblanc commented on pull request #1684:
URL: https://github.com/apache/lucene-solr/pull/1684#issuecomment-664046112


   There’s no direct mapping between work orders and collection API. I consider 
work orders the basic building blocs from which collection API actions can be 
built. Creating a replica (adding the data in ZK, checking for the config set 
etc) is different from adding a replica to an existing collection. Hence the 
two work orders. The new collection one doesn’t add any replicas to the 
collection but prepares the system to accept replicas for the collection (work 
that is not required when adding a replica to an existing collection).



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] chatman commented on pull request #1684: SOLR-14613: strongly typed initial proposal for plugin interface

2020-07-26 Thread GitBox


chatman commented on pull request #1684:
URL: https://github.com/apache/lucene-solr/pull/1684#issuecomment-664042985


   Regarding the work orders, can we decouple them from the collection API 
commands that are used? I see CreateReplicaWorkOrder and 
NewCollectionWorkOrder. AFAICT, the former needs replica placement for one 
replica, and the latter needs placement for potentially multiple replicas. Why 
can't we have a generic interface for providing placements that are agnostic of 
the collection API used? If we don't, we'll end up with more such work orders 
like move replica, split shard, restore, rebalance, utilize etc. etc., which 
would be large surface area to deal with.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] chatman commented on pull request #1684: SOLR-14613: strongly typed initial proposal for plugin interface

2020-07-26 Thread GitBox


chatman commented on pull request #1684:
URL: https://github.com/apache/lucene-solr/pull/1684#issuecomment-664041481


   > I can participate in that other PR (already did) but it duplicates 
seriously the effort I’ve started here. Maybe we carry the two approaches in 
parallel and then we’ll be able to compare what’s best in one or the other and 
be able to build a third one that’s even better?
   
   I think we should work on SolrCloud interfaces that packages should use in 
that other PR, and not define them here. I'm -1 on carrying the two approaches 
in parallel, but I just want for us to separate the two concerns in two PRs 
(this one concerning with the interfaces specific to assignment/replica 
placement, and the other one to define SolrCloud interfaces for the benefit of 
this effort as well as other plugins/packages that may want to use them).



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[jira] [Assigned] (SOLR-13169) Move Replica Docs need improvement (V1 and V2 introspect)

2020-07-26 Thread Gus Heck (Jira)


 [ 
https://issues.apache.org/jira/browse/SOLR-13169?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gus Heck reassigned SOLR-13169:
---

Assignee: Gus Heck

> Move Replica Docs need improvement (V1 and V2 introspect)
> -
>
> Key: SOLR-13169
> URL: https://issues.apache.org/jira/browse/SOLR-13169
> Project: Solr
>  Issue Type: Improvement
>  Components: v2 API
>Reporter: Gus Heck
>Assignee: Gus Heck
>Priority: Major
> Attachments: SOLR-13169.patch, screenshot-1.png, testing.txt
>
>
> At a minimum required parameters should be noted equally in both places. 
> Conversation with [~ab] indicates that there are also some discrepancies in 
> what is and is not actually required in docs vs code. ("in MoveReplicaCmd if 
> you specify “replica” then “shard” is completely ignored")
> Also in v2 it seems shard might be inferred from the URL and in that case 
> it's not clear if the URL or the json takes precedence.
> From introspect:
> {code:java}
> "move-replica": {
> "type": "object",
> "documentation": 
> "https://lucene.apache.org/solr/guide/collections-api.html#movereplica;,
> "description": "This command moves a replica from one 
> node to a new node. In case of shared filesystems the `dataDir` and `ulogDir` 
> may be reused.",
> "properties": {
> "replica": {
> "type": "string",
> "description": "The name of the replica"
> },
> "shard": {
> "type": "string",
> "description": "The name of the shard"
> },
> "sourceNode": {
> "type": "string",
> "description": "The name of the node that 
> contains the replica."
> },
> "targetNode": {
> "type": "string",
> "description": "The name of the destination node. 
> This parameter is required."
> },
> "waitForFinalState": {
> "type": "boolean",
> "default": "false",
> "description": "Wait for the moved replica to 
> become active."
> },
> "timeout": {
> "type": "integer",
> "default": 600,
> "description": "Timeout to wait for replica to 
> become active. For very large replicas this may need to be increased."
> },
> "inPlaceMove": {
> "type": "boolean",
> "default": "true",
> "description": "For replicas that use shared 
> filesystems allow 'in-place' move that reuses shared data."
> }
> {code}
> From ref guide for V1:
> MOVEREPLICA Parameters
> collection
> The name of the collection. This parameter is required.
> shard
> The name of the shard that the replica belongs to. This parameter is required.
> replica
> The name of the replica. This parameter is required.
> sourceNode
> The name of the node that contains the replica. This parameter is required.
> targetNode
> The name of the destination node. This parameter is required.
> async
> Request ID to track this action which will be processed asynchronously.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[GitHub] [lucene-solr] gus-asf edited a comment on pull request #1694: SOLR-14680: Provide simple interfaces to our concrete SolrCloud classes

2020-07-26 Thread GitBox


gus-asf edited a comment on pull request #1694:
URL: https://github.com/apache/lucene-solr/pull/1694#issuecomment-664018065


   These interfaces look like a good way to begin. Thoughts: This is an 
excellent point at which to consider and then stick to a preferred set of 
terminology. My favorites are:
   
   - **Machines** are the operating system level container or hardware and have
 - **Nodes** which are running solr processes on machines which have 
portions of
   - **Collections** which are logical indexes associated with a particular 
schema and have
 - **Shards** which split a collection on a routing value to allow 
scaling and have
   - **Replicas** which are duplicate copies implementing a shard often 
hosted on separate nodes.
   
   We should strive to apply only ONE word for each level throughout the 
interfaces to make them as simple and easy to understand as possible. 
   
   These 5 terms all have nice clear english words that communicate their 
function to some extent. Core however only really means "central thing" and I 
have always thought it was a very confusing word to use here since it has 
almost no memnonic value. Slice is also good for the shard level, but I think 
shard is no worse and more commonly used in documentation. Although core has 
been used many times in the past, I don't think anyone is going to have trouble 
finding what they want via the terms I'm suggesting.
   
   The Cluster level concept usually ignores Machines and speaks only of 
nodes... I could be convinced either way on whether or not that's a good thing.
   
   For fun I drew a near worst case diagaram (omitting back references and 
convenience rollups) :) 
   
![cluster-stuff](https://user-images.githubusercontent.com/46900717/88488213-bf7e8400-cf59-11ea-9a53-da7cc206cb72.png)
   



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] gus-asf edited a comment on pull request #1694: SOLR-14680: Provide simple interfaces to our concrete SolrCloud classes

2020-07-26 Thread GitBox


gus-asf edited a comment on pull request #1694:
URL: https://github.com/apache/lucene-solr/pull/1694#issuecomment-664018065


   These interfaces look like a good way to begin. Thoughts: This is an 
excellent point at which to consider and then stick to a preferred set of 
terminology. My favorites are:
   
   - **Machines** are the operating system level container or hardware and have
 - **Nodes** which are running solr processes on machines which have 
portions of
   - **Collections** which are logical indexes associated with a particular 
schema and have
 - **Shards** which split a collection on a routing value to allow 
scaling and have
   - **Replicas** which are duplicate copies implementing a shard often 
hosted on separate nodes.
   
   We should strive to apply only ONE word for each level throughout the 
interfaces to make them as simple and easy to understand as possible. 
   
   These 5 terms all have nice clear english words that communicate their 
function to some extent. Core however only really means "central thing" and I 
have always thought it was a very confusing word to use here since it has 
almost no memnonic value. Slice is also good for the shard level, but I think 
shard is no worse and more commonly used in documentation. Although core has 
been used many times in the past, I don't think anyone is going to have trouble 
finding what they want via the terms I'm suggesting.
   
   The Cluster level concept usually ignores Machines and speaks only of 
nodes... I could be convinced either way on whether or not that's a good thing.
   
   For fun I drew a near worst case diagaram (omitting back references) :) 
   
![cluster-stuff](https://user-images.githubusercontent.com/46900717/88488213-bf7e8400-cf59-11ea-9a53-da7cc206cb72.png)
   



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] gus-asf commented on a change in pull request #1694: SOLR-14680: Provide simple interfaces to our concrete SolrCloud classes

2020-07-26 Thread GitBox


gus-asf commented on a change in pull request #1694:
URL: https://github.com/apache/lucene-solr/pull/1694#discussion_r460560248



##
File path: solr/solrj/src/java/org/apache/solr/common/cloud/sdk/SolrCluster.java
##
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.solr.common.cloud.sdk;
+
+import org.apache.solr.common.util.SimpleMap;
+
+/**
+ * Represents a Solr cluster
+ */
+public interface SolrCluster {
+  /** collections in the cluster */
+  SimpleMap collections();

Review comment:
   Also aliases... and the Alias class returned should list the collections 
provided and routing info if routed. (also law of Demeter etc...)

##
File path: 
solr/solrj/src/java/org/apache/solr/common/util/LinkedSimpleHashMap.java
##
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.solr.common.util;
+
+import java.util.LinkedHashMap;
+
+public class LinkedSimpleHashMap extends LinkedHashMap  
implements SimpleMap {

Review comment:
   this class appears unused...

##
File path: solr/solrj/src/java/org/apache/solr/common/cloud/sdk/SolrNode.java
##
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.solr.common.cloud.sdk;
+
+import org.apache.solr.common.util.SimpleMap;
+
+/**
+ * A read only view of a Solr node
+ */
+public interface SolrNode {
+
+  /** The node name */
+  String name();
+
+  String baseUrl(boolean isV2);
+
+  SimpleMap cores();

Review comment:
   Possibly good to also answer the question of "what collections are 
participating in this node" and what shards of Collection X are on this node.

##
File path: 
solr/solrj/src/java/org/apache/solr/common/cloud/sdk/SolrCollection.java
##
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.solr.common.cloud.sdk;
+
+import 

[GitHub] [lucene-solr] gus-asf edited a comment on pull request #1694: SOLR-14680: Provide simple interfaces to our concrete SolrCloud classes

2020-07-26 Thread GitBox


gus-asf edited a comment on pull request #1694:
URL: https://github.com/apache/lucene-solr/pull/1694#issuecomment-664018065


   These interfaces look like a good way to begin. Thoughts: This is an 
excellent point at which to consider and then stick to a preferred set of 
terminology. My favorites are:
   
   - **Machines** are the operating system level container or hardware and have
 - **Nodes** which are running solr processes on machines which have 
portions of
   - **Collections** which are logical indexes associated with a particular 
schema and have
 - **Shards** which split a collection on a routing value to allow 
scaling and have
   - **Replicas** which are duplicate copies implementing a shard often 
hosted on separate nodes.
   
   We should strive to apply only ONE word for each level throughout the 
interfaces to make them as simple and easy to understand as possible. 
   
   These 5 terms all have nice clear english words that communicate their 
function to some extent. Core however only really means "central thing" and I 
have always thought it was a very confusing word to use here since it has 
almost no memnonic value. Slice is also good for the shard level, but I think 
shard is no worse and more commonly used in documentation. Although core has 
been used many times in the past, I don't think anyone is going to have trouble 
finding what they want via the terms I'm suggesting.
   
   The Cluster level concept usually ignores Machines and speaks only of 
nodes... I could be convinced either way on whether or not that's a good thing.
   
   



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] gus-asf edited a comment on pull request #1694: SOLR-14680: Provide simple interfaces to our concrete SolrCloud classes

2020-07-26 Thread GitBox


gus-asf edited a comment on pull request #1694:
URL: https://github.com/apache/lucene-solr/pull/1694#issuecomment-664018065


   These interfaces look like a good way to begin. Thoughts: This is an 
excellent point at which to consider and then stick to a preferred set of 
terminology. My favorites are:
   
   - **Machines** are the operating system level container or hardware and have
 - **Nodes** which are running solr processes on machines which have
   - **Collections** which are logical indexes associated with a particular 
schema and have
 - **Shards** which split a collection on a routing value to allow 
scaling and have
   - **Replicas** which are duplicate copies implementing a shard often 
hosted on separate nodes.
   
   We should strive to apply only ONE word for each level throughout the 
interfaces to make them as simple and easy to understand as possible. 
   
   These 5 terms all have nice clear english words that communicate their 
function to some extent. Core however only really means "central thing" and I 
have always thought it was a very confusing word to use here since it has 
almost no memnonic value. Slice is also good for the shard level, but I think 
shard is no worse and more commonly used in documentation. Although core has 
been used many times in the past, I don't think anyone is going to have trouble 
finding what they want via the terms I'm suggesting.
   
   The Cluster level concept usually ignores Machines and speaks only of 
nodes... I could be convinced either way on whether or not that's a good thing.
   
   



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[jira] [Commented] (SOLR-14636) Provide a reference implementation for SolrCloud that is stable and fast.

2020-07-26 Thread Mark Robert Miller (Jira)


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

Mark Robert Miller commented on SOLR-14636:
---

The promised land approaches. The regular developer test run is getting 
merciless.

> Provide a reference implementation for SolrCloud that is stable and fast.
> -
>
> Key: SOLR-14636
> URL: https://issues.apache.org/jira/browse/SOLR-14636
> Project: Solr
>  Issue Type: Task
>Reporter: Mark Robert Miller
>Assignee: Mark Robert Miller
>Priority: Major
> Attachments: IMG_5575 (1).jpg
>
>
> SolrCloud powers critical infrastructure and needs the ability to run quickly 
> with stability. This reference implementation will allow for this.
> *location*: [https://github.com/apache/lucene-solr/tree/reference_impl]
> *status*: alpha
> *speed*: ludicrous
> {color:#de350b}NOTE: Just entered a period of likely instability as I clear 
> out the new room of zombies.{color}
> *tests***:
>  * *core*: {color:#00875a}*solid*{color} with *{color:#de350b}ignores{color}*
>  * *solrj*: {color:#00875a}*solid*{color} with {color:#de350b}*ignores*{color}
>  * *test-framework*: {color:#00875a}*solid*{color} with 
> {color:#de350b}*ignores*{color}
>  * *contrib/analysis-extras*: {color:#00875a}*solid*{color} with 
> {color:#de350b}*ignores*{color}
>  * *contrib/analytics*: {color:#00875a}*solid*{color} with 
> {color:#de350b}*ignores*{color}
>  * *contrib/clustering*: {color:#00875a}*solid*{color} with 
> *{color:#de350b}ignores{color}*
>  * *contrib/dataimporthandler*: {color:#00875a}*solid*{color} with 
> {color:#de350b}*ignores*{color}
>  * *contrib/dataimporthandler-extras*: {color:#00875a}*solid*{color} with 
> *{color:#de350b}ignores{color}*
>  * *contrib/extraction*: {color:#00875a}*solid*{color} with 
> {color:#de350b}*ignores*{color}
>  * *contrib/jaegertracer-configurator*: {color:#00875a}*solid*{color} with 
> {color:#de350b}*ignores*{color}
>  * *contrib/langid*: {color:#00875a}*solid*{color} with 
> {color:#de350b}*ignores*{color}
>  * *contrib/prometheus-exporter*: {color:#00875a}*solid*{color} with 
> {color:#de350b}*ignores*{color}
>  * *contrib/velocity*: {color:#00875a}*solid*{color} with 
> {color:#de350b}*ignores*{color}
> _* Running tests quickly and efficiently with strict policing will more 
> frequently find bugs and requires a period of hardening._
>  _** Non Nightly currently, Nightly comes last._



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[GitHub] [lucene-solr] gus-asf commented on pull request #1694: SOLR-14680: Provide simple interfaces to our concrete SolrCloud classes

2020-07-26 Thread GitBox


gus-asf commented on pull request #1694:
URL: https://github.com/apache/lucene-solr/pull/1694#issuecomment-664018065


   These interfaces look like a good way to begin. Thoughts: This is an 
excellent point at which to consider and then stick to a preferred set of 
terminology. My favorites are:
   
   - **Machines** are the operating system level container or hardware and have
 - **Nodes** which are running solr processes on machines which have
   - **Collections** which are logical indexes associated with a particular 
schema and have
 - **Shards** which split a collection on a routing value to allow 
scaling and have
   - **Replicas** which are duplicate copies implementing a shard often 
hosted on separate nodes.
   
   We should strive to apply only ONE word for each level throughout the 
interfaces to make them as simple and easy to understand as possible. 
   
   These 5 terms all have nice clear english words that communicate their 
function to some extent. Core however only really means "central thing" and I 
have always thought it was a very confusing word to use here since it has 
almost no memnonic value. Slice is also good for the shard level, but I think 
shard is no worse and more commonly used in documentation. Although core has 
been used many times in the past, I don't think anyone is going to have trouble 
finding what they want via the terms I'm suggesting.
   
   
   



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] Hronom commented on a change in pull request #1419: SOLR-14397: Vector Search in Solr

2020-07-26 Thread GitBox


Hronom commented on a change in pull request #1419:
URL: https://github.com/apache/lucene-solr/pull/1419#discussion_r460552820



##
File path: 
lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/vectors/FloatVectorFieldSource.java
##
@@ -0,0 +1,213 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.lucene.queries.function.valuesource.vectors;
+
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.nio.FloatBuffer;
+import java.nio.charset.StandardCharsets;
+import java.util.Map;
+import org.apache.lucene.index.BinaryDocValues;
+import org.apache.lucene.index.DocValues;
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.queries.function.FunctionValues;
+import org.apache.lucene.queries.function.valuesource.BytesRefFieldSource;
+import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.BytesRefBuilder;
+import org.apache.lucene.util.mutable.MutableValue;
+import org.apache.lucene.util.mutable.MutableValueStr;
+
+/**
+ * An implementation for retrieving {@link FunctionValues} instances for 
string based fields.
+ */
+public class FloatVectorFieldSource extends BytesRefFieldSource {
+
+  protected Encoding encoding;
+
+  public FloatVectorFieldSource(String field, Encoding encoding) {
+super(field);
+this.encoding = encoding;
+  }
+
+  public enum Encoding {
+STRING, // "[1.0,2.23]|[4.56,7]". Separator = "|"
+BASE64, // Base64 Encoded float[]. Separator = "|"
+BFLOAT16 // Compressed float[] to bfloat. Separator = "|"
+  }
+
+  public static float[] rawStringToVector(String stringifiedVector) {
+//format: 1.0,2.345
+
+String[] split = stringifiedVector.split(",");
+float[] output = new float[split.length];
+
+for(int i=0;  i< split.length; i++) {
+  output[i] = Float.parseFloat(split[i]);
+}
+
+return output;
+  }
+
+  public static String vectorToRawString(float[] vector) {
+StringBuilder sb = new StringBuilder();
+for (int i = 0; i < vector.length; i++) {
+  if (sb.length() > 0) {
+sb.append(',');
+  }
+  sb.append(Float.toString(vector[i]));
+}
+return sb.toString();
+  }
+
+  public static BytesRef vectorToRawStringBytesRef(float[] vector){
+  BytesRefBuilder builder = new BytesRefBuilder();
+  byte[] bytes;
+  for (int i=0; i 0){
+  builder.append((byte)',');
+}
+bytes = Float.toString(vector[i]).getBytes(StandardCharsets.UTF_8);
+builder.append(bytes, 0, bytes.length);
+  }
+  return builder.get();
+  }
+
+  @Override
+  public FunctionValues getValues(Map context, LeafReaderContext 
readerContext) throws IOException {
+
+  final BinaryDocValues binaryValues = 
DocValues.getBinary(readerContext.reader(), field);
+  return new FunctionValues() {
+int lastDocID = -1;
+
+private BytesRef getValueForDoc(int doc) throws IOException {
+  if (doc < lastDocID) {
+throw new IllegalArgumentException("docs were sent out-of-order: 
lastDocID=" + lastDocID + " vs docID=" + doc);
+  }
+  lastDocID = doc;
+  int curDocID = binaryValues.docID();
+  if (doc > curDocID) {
+curDocID = binaryValues.advance(doc);
+  }
+  if (doc == curDocID) {
+return decode(binaryValues.binaryValue());
+  } else {
+return null;
+  }
+}
+
+
+//TODO: maybe change to float[][] later... ?
+protected BytesRef decode(BytesRef encoded){
+  byte[] encodedVectors = encoded.bytes;
+  BytesRefBuilder currentEncodedVector = new BytesRefBuilder();
+  BytesRefBuilder decodedVectorString = new BytesRefBuilder();  
//TODO: float[][] later
+
+  for (int i=encoded.offset; i< encoded.offset + encoded.length; i++) {
+if (encodedVectors[i] == (byte) '|' || i == encoded.offset + 
encoded.length - 1) {
+  float[] currentVector = null;
+  switch (encoding) {
+case BFLOAT16:
+  //TODO
+  break;
+case BASE64:
+  currentVector = 

[jira] [Commented] (SOLR-12847) Cut over implementation of maxShardsPerNode to a collection policy

2020-07-26 Thread Erick Erickson (Jira)


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

Erick Erickson commented on SOLR-12847:
---

If we put support back in for maxShardsPerNode (and, BTW, can we rename that? 
It's always been confusing 'cause it's not about shards really) then at least a 
new test I'm putting in will break (RouteFieldTest, coming soon).

> Cut over implementation of maxShardsPerNode to a collection policy
> --
>
> Key: SOLR-12847
> URL: https://issues.apache.org/jira/browse/SOLR-12847
> Project: Solr
>  Issue Type: Bug
>  Components: AutoScaling, SolrCloud
>Reporter: Shalin Shekhar Mangar
>Assignee: Andrzej Bialecki
>Priority: Major
> Fix For: master (9.0)
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> We've back and forth over handling maxShardsPerNode with autoscaling policies 
> (see SOLR-11005 for history). Now that we've reimplemented support for 
> creating collections with maxShardsPerNode when autoscaling policy is 
> enabled, we should re-look at how it is implemented.
> I propose that we fold maxShardsPerNode (if specified) to a collection level 
> policy that overrides the corresponding default in cluster policy (see 
> SOLR-12845). We'll need to ensure that if maxShardsPerNode is specified then 
> the user sees neither violations nor corresponding suggestions because of the 
> default cluster policy.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[GitHub] [lucene-solr] murblanc commented on pull request #1694: SOLR-14680: Provide simple interfaces to our concrete SolrCloud classes

2020-07-26 Thread GitBox


murblanc commented on pull request #1694:
URL: https://github.com/apache/lucene-solr/pull/1694#issuecomment-663999287


   I also feel this PR has a lot of overlap with the one I started to define an 
API for Autoscaling plugins (https://github.com/apache/lucene-solr/pull/1684).
   
   Unless we want to pursue two distinct options for these interfaces and 
decide later (perfectly OK if that’s the idea) I suggest we use the other PR 
that has also examples of how these interfaces are used (makes it easier to 
reason about them and decide what goes where).



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[jira] [Resolved] (SOLR-7400) Collection creation fails when over-provisioning maxShardsPerNode > 1

2020-07-26 Thread Erick Erickson (Jira)


 [ 
https://issues.apache.org/jira/browse/SOLR-7400?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Erick Erickson resolved SOLR-7400.
--
Resolution: Invalid

This is both very old and almost certainly a configuration issue, dataDirs are 
not shared amongst multiple replicas on the same node.

> Collection creation fails when over-provisioning maxShardsPerNode > 1
> -
>
> Key: SOLR-7400
> URL: https://issues.apache.org/jira/browse/SOLR-7400
> Project: Solr
>  Issue Type: Bug
>  Components: SolrCloud
>Affects Versions: 4.10.3
> Environment: HDP 2.2 / HDP Search
>Reporter: Hari Sekhon
>Priority: Major
>
> When trying to overprovision shards I've encountered an issue before where 
> the additional shards are trying to use the same dataDir resulting in failure 
> to obtain locks for those additional shard replicas:
> {code}curl 
> 'http://host:8983/solr/admin/collections?action=CREATE=test=6=6=2=json=true'
> {
>   "responseHeader":{
> "status":0,
> "QTime":3925},
>   "failure":{
> 
> "":"org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException:Error
>  CREATEing SolrCore 'test_shard1_replica2': Unable to create core 
> [test_shard1_replica2] Caused by: Lock obtain timed out: 
> NativeFSLock@/data1/solr/test/index/write.lock",
> 
> "":"org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException:Error
>  CREATEing SolrCore 'test_shard6_replica1': Unable to create core 
> [test_shard6_replica1] Caused by: Lock obtain timed out: 
> NativeFSLock@/data1/solr/test/index/write.lock",
> 
> "":"org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException:Error
>  CREATEing SolrCore 'test_shard5_replica2': Unable to create core 
> [test_shard5_replica2] Caused by: Lock obtain timed out: 
> NativeFSLock@/data1/solr/test/index/write.lock",
> 
> "":"org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException:Error
>  CREATEing SolrCore 'test_shard2_replica1': Unable to create core 
> [test_shard2_replica1] Caused by: Lock obtain timed out: 
> NativeFSLock@/data1/solr/test/index/write.lock",
> 
> "":"org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException:Error
>  CREATEing SolrCore 'test_shard3_replica2': Unable to create core 
> [test_shard3_replica2] Caused by: Lock obtain timed out: 
> NativeFSLock@/data1/solr/test/index/write.lock",
> 
> "":"org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException:Error
>  CREATEing SolrCore 'test_shard4_replica1': Unable to create core 
> [test_shard4_replica1] Caused by: Lock obtain timed out: 
> NativeFSLock@/data1/solr/test/index/write.lock"},
>  "success":{
> "":{
>   "responseHeader":{
> "status":0,
> "QTime":3225},
>   "core":"test_shard5_replica1"},
> "":{
>   "responseHeader":{
> "status":0,
> "QTime":3234},
>   "core":"test_shard6_replica2"},
> "":{
>   "responseHeader":{
> "status":0,
> "QTime":3248},
>   "core":"test_shard1_replica1"},
> "":{
>   "responseHeader":{
> "status":0,
> "QTime":3433},
>   "core":"test_shard4_replica2"},
> "":{
>   "responseHeader":{
> "status":0,
> "QTime":3620},
>   "core":"test_shard3_replica1"},
> "":{
>   "responseHeader":{
> "status":0,
> "QTime":3800},
>   "core":"test_shard2_replica2"}}}
> {code}
> It's not clear given this how you could have more than one shard per node to 
> pre-provision for anticipated node growth.
> Hari Sekhon
> http://www.linkedin.com/in/harisekhon



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[GitHub] [lucene-solr] murblanc commented on pull request #1684: SOLR-14613: strongly typed initial proposal for plugin interface

2020-07-26 Thread GitBox


murblanc commented on pull request #1684:
URL: https://github.com/apache/lucene-solr/pull/1684#issuecomment-663997462


   I agree about the naming, will change, will try to make these interfaces 
seem more like a generic thing for SolrCloud rather than something that’s 
Autoscaling specific.
   
   Regarding “Pleas refer to #1694 as a separate effort to make this simpler.”, 
I will not at this stage.
   
   I can participate in that other PR (already did) but it duplicates seriously 
the effort I’ve started here.
   
   Maybe we carry the two approaches in parallel and then we’ll be able to 
compare what’s best in one or the other and be able to build a third one that’s 
even better?



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [lucene-solr] murblanc commented on pull request #1694: SOLR-14680: Provide simple interfaces to our concrete SolrCloud classes

2020-07-26 Thread GitBox


murblanc commented on pull request #1694:
URL: https://github.com/apache/lucene-solr/pull/1694#issuecomment-663994405


   Can we start simple by defining the external interface without the required 
changes to internal classes first? Will make a smaller PR easier to discuss.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[jira] [Commented] (LUCENE-9433) Remove Ant support from trunk

2020-07-26 Thread Erick Erickson (Jira)


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

Erick Erickson commented on LUCENE-9433:


[~tomoko] Sure. I anticipate a few days of things being a bit unsettled when we 
make the switch and push this JIRA.

Hmmm, I don't think we _need_ to wait on this Jira to switch the Jenkins builds 
to use Gradle only, but I'll leave the timing up to Uwe & friends.

 

> Remove Ant support from trunk
> -
>
> Key: LUCENE-9433
> URL: https://issues.apache.org/jira/browse/LUCENE-9433
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Erick Erickson
>Assignee: Erick Erickson
>Priority: Major
>  Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> Items that may need to be addressed:
>  * -Testing with OpenJDK early access releases-
>  * Mavenizing
>  * Test speed (?)
>  * -Update any mentions of ant in the ref guide- (on EOE fork)
>  * Update Confluence, in particular "how to contribute"
>  * Update Jenkins to not try to run ant anything
>  * make an eclipse task (netbeans too?)
>  * -various documentation (e.g. README/INSTALL) files still needs to be 
> converted to gradle- (on EOE fork)
>  * fix some relative links in javadocs which contain ant module names
>  * dev-tools/scripts/* There are a lot of mentions of ant in the *.py* files, 
> and some in the README.md. This one should probably be its own JIRA since 
> it'll require quite a bit of verification...



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (LUCENE-9433) Remove Ant support from trunk

2020-07-26 Thread Tomoko Uchida (Jira)


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

Tomoko Uchida commented on LUCENE-9433:
---

[LUCENE-9441] is a bit sticky. The javadocs cannot be fixed as long as Ant 
build job is live, otherwise ant precommit fails with link checker error. I 
will fix it (and also enable the linter for gradle's check task) after we 
completely switch to Gradle and discard Ant build job. Can you please ping me 
when nightly Ant build job is stopped ?

> Remove Ant support from trunk
> -
>
> Key: LUCENE-9433
> URL: https://issues.apache.org/jira/browse/LUCENE-9433
> Project: Lucene - Core
>  Issue Type: Improvement
>Reporter: Erick Erickson
>Assignee: Erick Erickson
>Priority: Major
>  Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> Items that may need to be addressed:
>  * -Testing with OpenJDK early access releases-
>  * Mavenizing
>  * Test speed (?)
>  * -Update any mentions of ant in the ref guide- (on EOE fork)
>  * Update Confluence, in particular "how to contribute"
>  * Update Jenkins to not try to run ant anything
>  * make an eclipse task (netbeans too?)
>  * -various documentation (e.g. README/INSTALL) files still needs to be 
> converted to gradle- (on EOE fork)
>  * fix some relative links in javadocs which contain ant module names
>  * dev-tools/scripts/* There are a lot of mentions of ant in the *.py* files, 
> and some in the README.md. This one should probably be its own JIRA since 
> it'll require quite a bit of verification...



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Comment Edited] (LUCENE-9321) Port documentation task to gradle

2020-07-26 Thread Tomoko Uchida (Jira)


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

Tomoko Uchida edited comment on LUCENE-9321 at 7/26/20, 9:19 AM:
-

I've opened a PR ([https://github.com/apache/lucene-solr/pull/1695]) to make 
Solr snapshot build pass the linter. Could you review it?


was (Author: tomoko uchida):
I've opened a PR 
([https://github.com/apache/lucene-solr/pull/1695|https://github.com/apache/lucene-solr/pull/1695])
 to make Solr snapshot build pass the linter. Could you review it?

> Port documentation task to gradle
> -
>
> Key: LUCENE-9321
> URL: https://issues.apache.org/jira/browse/LUCENE-9321
> Project: Lucene - Core
>  Issue Type: Sub-task
>  Components: general/build
>Reporter: Tomoko Uchida
>Assignee: Uwe Schindler
>Priority: Major
> Fix For: master (9.0)
>
> Attachments: screenshot-1.png
>
>  Time Spent: 9h 10m
>  Remaining Estimate: 0h
>
> This is a placeholder issue for porting ant "documentation" task to gradle. 
> The generated documents should be able to be published on lucene.apache.org 
> web site on "as-is" basis.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (LUCENE-9321) Port documentation task to gradle

2020-07-26 Thread Tomoko Uchida (Jira)


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

Tomoko Uchida commented on LUCENE-9321:
---

I've opened a PR 
([https://github.com/apache/lucene-solr/pull/1695|https://github.com/apache/lucene-solr/pull/1695])
 to make Solr snapshot build pass the linter. Could you review it?

> Port documentation task to gradle
> -
>
> Key: LUCENE-9321
> URL: https://issues.apache.org/jira/browse/LUCENE-9321
> Project: Lucene - Core
>  Issue Type: Sub-task
>  Components: general/build
>Reporter: Tomoko Uchida
>Assignee: Uwe Schindler
>Priority: Major
> Fix For: master (9.0)
>
> Attachments: screenshot-1.png
>
>  Time Spent: 9h 10m
>  Remaining Estimate: 0h
>
> This is a placeholder issue for porting ant "documentation" task to gradle. 
> The generated documents should be able to be published on lucene.apache.org 
> web site on "as-is" basis.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[GitHub] [lucene-solr] mocobeta opened a new pull request #1695: LUCENE-9321: Fix Javadoc offline link base url for snapshot build

2020-07-26 Thread GitBox


mocobeta opened a new pull request #1695:
URL: https://github.com/apache/lucene-solr/pull/1695


   This includes two changes in documentation task.
   
   1. Fix Javadoc offline link base url to make snapshot build pass 
`checkBrokenLinks`.
   2. Explicitly disable cross-project link for `:solr:test-framework`, 
otherwise broken links are generated due to split package issue.
   See: 
https://github.com/apache/lucene-solr/blob/master/solr/test-framework/build.xml#L59



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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