[PR] Update dependency org.apache.commons:commons-configuration2 to v2.11.0 [solr]

2024-06-15 Thread via GitHub


solrbot opened a new pull request, #2521:
URL: https://github.com/apache/solr/pull/2521

   This PR contains the following updates:
   
   | Package | Type | Update | Change |
   |---|---|---|---|
   | 
[org.apache.commons:commons-configuration2](https://commons.apache.org/proper/commons-configuration/)
 ([source](https://gitbox.apache.org/repos/asf?p=commons-configuration.git)) | 
dependencies | minor | `2.10.1` -> `2.11.0` |
   
   ---
   
   ### Configuration
   
    **Schedule**: Branch creation - "* * * * 0" (UTC), Automerge - At any time 
(no schedule defined).
   
    **Automerge**: Disabled by config. Please merge this manually once you are 
satisfied.
   
   ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry 
checkbox.
   
    **Ignore**: Close this PR and you won't be reminded about this update 
again.
   
   ---
   
- [ ] If you want to rebase/retry this PR, check this 
box
   
   ---
   
   This PR has been generated by [Renovate 
Bot](https://togithub.com/solrbot/renovate-github-action)
   

   


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

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


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



[PR] Update io.dropwizard.metrics:* to v4.2.26 [solr]

2024-06-15 Thread via GitHub


solrbot opened a new pull request, #2520:
URL: https://github.com/apache/solr/pull/2520

   This PR contains the following updates:
   
   | Package | Type | Update | Change |
   |---|---|---|---|
   | [io.dropwizard.metrics:metrics-jvm](https://metrics.dropwizard.io) 
([source](https://togithub.com/dropwizard/metrics)) | dependencies | patch | 
`4.2.25` -> `4.2.26` |
   | [io.dropwizard.metrics:metrics-jmx](https://metrics.dropwizard.io) 
([source](https://togithub.com/dropwizard/metrics)) | dependencies | patch | 
`4.2.25` -> `4.2.26` |
   | [io.dropwizard.metrics:metrics-jetty10](https://metrics.dropwizard.io) 
([source](https://togithub.com/dropwizard/metrics)) | dependencies | patch | 
`4.2.25` -> `4.2.26` |
   | [io.dropwizard.metrics:metrics-graphite](https://metrics.dropwizard.io) 
([source](https://togithub.com/dropwizard/metrics)) | dependencies | patch | 
`4.2.25` -> `4.2.26` |
   | [io.dropwizard.metrics:metrics-core](https://metrics.dropwizard.io) 
([source](https://togithub.com/dropwizard/metrics)) | dependencies | patch | 
`4.2.25` -> `4.2.26` |
   | [io.dropwizard.metrics:metrics-annotation](https://metrics.dropwizard.io) 
([source](https://togithub.com/dropwizard/metrics)) | dependencies | patch | 
`4.2.25` -> `4.2.26` |
   
   ---
   
   ### Release Notes
   
   
   dropwizard/metrics (io.dropwizard.metrics:metrics-jvm)
   
   ### [`v4.2.26`](https://togithub.com/dropwizard/metrics/releases/tag/v4.2.26)
   
   # What's Changed
   
   -   Update dependency org.mockito:mockito-core to v5.10.0 (release/4.2.x) by 
[@renovate](https://togithub.com/renovate) in 
[https://github.com/dropwizard/metrics/pull/3925](https://togithub.com/dropwizard/metrics/pull/3925)
   -   Update github/codeql-action digest to 
[`b7bf0a3`](https://togithub.com/dropwizard/metrics/commit/b7bf0a3) 
(release/4.2.x) by [@renovate](https://togithub.com/renovate) in 
[https://github.com/dropwizard/metrics/pull/3926](https://togithub.com/dropwizard/metrics/pull/3926)
   -   Update dependency org.eclipse.jetty:jetty-bom to v10.0.20 
(release/4.2.x) by [@renovate](https://togithub.com/renovate) in 
[https://github.com/dropwizard/metrics/pull/3930](https://togithub.com/dropwizard/metrics/pull/3930)
   -   Update dependency org.eclipse.jetty:jetty-bom to v11.0.20 
(release/4.2.x) by [@renovate](https://togithub.com/renovate) in 
[https://github.com/dropwizard/metrics/pull/3931](https://togithub.com/dropwizard/metrics/pull/3931)
   -   Update jetty12.version to v12.0.6 (release/4.2.x) (patch) by 
[@renovate](https://togithub.com/renovate) in 
[https://github.com/dropwizard/metrics/pull/3932](https://togithub.com/dropwizard/metrics/pull/3932)
   -   Update dependency org.jdbi:jdbi3-core to v3.44.0 (release/4.2.x) by 
[@renovate](https://togithub.com/renovate) in 
[https://github.com/dropwizard/metrics/pull/3933](https://togithub.com/dropwizard/metrics/pull/3933)
   -   Update github/codeql-action digest to 
[`e8893c5`](https://togithub.com/dropwizard/metrics/commit/e8893c5) 
(release/4.2.x) by [@renovate](https://togithub.com/renovate) in 
[https://github.com/dropwizard/metrics/pull/3938](https://togithub.com/dropwizard/metrics/pull/3938)
   -   Update dependency org.assertj:assertj-core to v3.25.3 (release/4.2.x) by 
[@renovate](https://togithub.com/renovate) in 
[https://github.com/dropwizard/metrics/pull/3940](https://togithub.com/dropwizard/metrics/pull/3940)
   -   Update slf4j monorepo to v2.0.12 (release/4.2.x) (patch) by 
[@renovate](https://togithub.com/renovate) in 
[https://github.com/dropwizard/metrics/pull/3943](https://togithub.com/dropwizard/metrics/pull/3943)
   -   Update webfactory/ssh-agent action to v0.9.0 (release/4.2.x) by 
[@renovate](https://togithub.com/renovate) in 
[https://github.com/dropwizard/metrics/pull/3945](https://togithub.com/dropwizard/metrics/pull/3945)
   -   Update dependency org.jdbi:jdbi3-core to v3.44.1 (release/4.2.x) by 
[@renovate](https://togithub.com/renovate) in 
[https://github.com/dropwizard/metrics/pull/3947](https://togithub.com/dropwizard/metrics/pull/3947)
   -   Update jetty9.version to v9.4.54.v20240208 (release/4.2.x) (patch) by 
[@renovate](https://togithub.com/renovate) in 
[https://github.com/dropwizard/metrics/pull/3950](https://togithub.com/dropwizard/metrics/pull/3950)
   -   Update github/codeql-action digest to 
[`e675ced`](https://togithub.com/dropwizard/metrics/commit/e675ced) 
(release/4.2.x) by [@renovate](https://togithub.com/renovate) in 
[https://github.com/dropwizard/metrics/pull/3949](https://togithub.com/dropwizard/metrics/pull/3949)
   -   Pin JetBrains/qodana-action action to 
[`e42ff2d`](https://togithub.com/dropwizard/metrics/commit/e42ff2d) 
(release/4.2.x) by [@renovate](https://togithub.com/renovate) in 
[https://github.com/dropwizard/metrics/pull/3952](https://togithub.com/dropwizard/metrics/pull/3952)
   -   Update github/codeql-action digest to 
[`3796146`](https://togithub.com/dropwizard/metrics/commit/3796146) 
(release/4.2.x) by 

[jira] [Comment Edited] (SOLR-9168) Add availability to specify own oom handing script

2024-06-15 Thread Daniel Lowe (Jira)


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

Daniel Lowe edited comment on SOLR-9168 at 6/16/24 12:28 AM:
-

[~elyograg] Strictly speaking doesn't SOLR-8803 actually remove the ability to 
specify your own oom handling script? Prior to Solr 9.2 it was possible to 
manually add arbritrary content to `oom_solr.sh` e.g. send an email and/or 
restart Solr

Obviously this isn't wasn'an elegant solution, but if I'm understanding 
correctly is there no longer a way to add a post crash hook?

EDIT: I guess you could still achieve this by adding a call to 
-XX:OnOutOfMemoryError to $SOLR_ADDL_ARGS. I think the script that will be run, 
will run before -XX:+CrashOnOutOfMemoryError kills the JVM though which might 
complicate things 
(https://github.com/openjdk/jdk/blob/8464ce6db5cbd5d50ac2a2bcba905b7255f510f5/src/hotspot/share/utilities/debug.cpp#L267).

(A reason you may want to restart Solr on an OOM error is if you expect the 
errors to typically be caused by inappropriate developer initiated queries e.g. 
facetting on a large full-text field)


was (Author: dan2097):
[~elyograg] Strictly speaking doesn't SOLR-8803 actually remove the ability to 
specify your own oom handling script? Prior to Solr 9.2 it was possible to 
manually add arbritrary content to `oom_solr.sh` e.g. send an email and/or 
restart Solr

Obviously this isn't wasn'an elegant solution, but if I'm understanding 
correctly is there no longer a way to add a post crash hook?

(A reason you may want to restart Solr on an OOM error is if you expect the 
errors to typically be caused by inappropriate developer initiated queries e.g. 
facetting on a large full-text field)

> Add availability to specify own oom handing script
> --
>
> Key: SOLR-9168
> URL: https://issues.apache.org/jira/browse/SOLR-9168
> Project: Solr
>  Issue Type: Improvement
>  Components: scripts and tools
>Affects Versions: 5.5.1
>Reporter: AngryDeveloper
>Priority: Major
>  Labels: oom
> Fix For: main (10.0)
>
> Attachments: 
> 0001-SOLR-9168-Allow-users-to-specify-their-own-OnOutOfMe.patch, 
> SOLR-9168-1.patch, SOLR-9168-2.patch, SOLR-9168-3.patch, 
> SOLR-9168-userdefined.patch, SOLR-9168.patch, solr-crash-oom.patch
>
>
> Right now the start script always uses $SOLR_TIP/bin/oom_solr.sh  to handle 
> OutOfMemoryException. This script only kills instance of solr.
> We need to do some additional things (e.g sent mail about this exception)
> What do you think about adding possibility to set up own script?
> Proposition:
> {code}
> if [ -z "$SOLR_OOM_SCRIPT" ]; then
>   SOLR_OOM_SCRIPT=$SOLR_TIP/bin/oom_solr.sh 
> fi
> [...]
> nohup "$JAVA" "${SOLR_START_OPTS[@]}" $SOLR_ADDL_ARGS \
>   "-XX:OnOutOfMemoryError=$SOLR_OOM_SCRIPT $SOLR_PORT $SOLR_LOGS_DIR" \
> -jar start.jar "${SOLR_JETTY_CONFIG[@]}" \
>   1>"$SOLR_LOGS_DIR/solr-$SOLR_PORT-console.log" 2>&1 & echo $! > 
> "$SOLR_PID_DIR/solr-$SOLR_PORT.pid"
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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



Re: [PR] SOLR-10654: Introduce output of Prometheus metrics directly from Solr [solr]

2024-06-15 Thread via GitHub


dsmiley commented on code in PR #2405:
URL: https://github.com/apache/solr/pull/2405#discussion_r1641064461


##
solr/core/src/java/org/apache/solr/metrics/prometheus/jvm/SolrJvmBuffersMetric.java:
##
@@ -0,0 +1,52 @@
+/*
+ * 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.metrics.prometheus.jvm;
+
+import com.codahale.metrics.Gauge;
+import com.codahale.metrics.Metric;
+import org.apache.solr.metrics.prometheus.SolrPrometheusExporter;
+
+/* Dropwizard metrics of name buffers.* */
+public class SolrJvmBuffersMetric extends SolrJvmMetric {
+  public static final String JVM_BUFFERS = "solr_metrics_jvm_buffers";
+  public static final String JVM_BUFFERS_BYTES = 
"solr_metrics_jvm_buffers_bytes";
+
+  public SolrJvmBuffersMetric(Metric dropwizardMetric, String metricName) {
+super(dropwizardMetric, metricName);
+  }
+
+  @Override
+  public SolrJvmMetric parseLabels() {
+String[] parsedMetric = metricName.split("\\.");

Review Comment:
   When parsing stuff, it really helps to have a one-line comment of a sample 
value 



##
solr/core/src/java/org/apache/solr/metrics/prometheus/node/SolrPrometheusNodeExporter.java:
##
@@ -0,0 +1,99 @@
+/*
+ * 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.metrics.prometheus.node;
+
+import static 
org.apache.solr.metrics.prometheus.node.SolrNodeMetric.NODE_THREAD_POOL;
+
+import com.codahale.metrics.Counter;
+import com.codahale.metrics.Meter;
+import com.codahale.metrics.Metric;
+import com.google.common.base.Enums;
+import io.prometheus.metrics.model.snapshots.Labels;
+import org.apache.solr.metrics.prometheus.SolrMetric;
+import org.apache.solr.metrics.prometheus.SolrNoOpMetric;
+import org.apache.solr.metrics.prometheus.SolrPrometheusExporter;
+
+/**
+ * This class maintains a {@link 
io.prometheus.metrics.model.snapshots.MetricSnapshot}s exported
+ * from solr.node {@link com.codahale.metrics.MetricRegistry}
+ */
+public class SolrPrometheusNodeExporter extends SolrPrometheusExporter
+implements PrometheusNodeExporterInfo {
+  public SolrPrometheusNodeExporter() {
+super();
+  }
+
+  @Override
+  public void exportDropwizardMetric(Metric dropwizardMetric, String 
metricName) {
+if (metricName.contains(".threadPool.")) {
+  exportThreadPoolMetric(dropwizardMetric, metricName);
+  return;
+}
+
+SolrMetric solrNodeMetric = categorizeMetric(dropwizardMetric, metricName);
+solrNodeMetric.parseLabels().toPrometheus(this);

Review Comment:
   if we forget to call parseLabels, will we recognize a mistake?  not a big 
deal but just a thought



##
solr/core/src/java/org/apache/solr/metrics/prometheus/node/SolrPrometheusNodeExporter.java:
##
@@ -0,0 +1,99 @@
+/*
+ * 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 

[jira] [Commented] (SOLR-10255) Large psuedo-stored fields via BinaryDocValuesField

2024-06-15 Thread David Smiley (Jira)


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

David Smiley commented on SOLR-10255:
-

+1 PR welcome

> Large psuedo-stored fields via BinaryDocValuesField
> ---
>
> Key: SOLR-10255
> URL: https://issues.apache.org/jira/browse/SOLR-10255
> Project: Solr
>  Issue Type: Improvement
>Reporter: David Smiley
>Assignee: David Smiley
>Priority: Major
> Attachments: SOLR-10255.patch, SOLR-10255.patch
>
>
> (sub-issue of SOLR-10117)  This is a proposal for a better way for Solr to 
> handle "large" text fields.  Large docs that are in Lucene StoredFields slow 
> requests that don't involve access to such fields.  This is fundamental to 
> the fact that StoredFields are row-stored.  Worse, the Solr documentCache 
> will wind up holding onto massive Strings.  While the latter could be tackled 
> on it's own somehow as it's the most serious issue, nevertheless it seems 
> wrong that such large fields are in row-stored storage to begin with.  After 
> all, relational DBs seemed to have figured this out and put CLOBs/BLOBs in a 
> separate place.  Here, we do similarly by using, Lucene 
> {{BinaryDocValuesField}}.  BDVF isn't well known in the DocValues family as 
> it's not for typical DocValues purposes like sorting/faceting etc.  The 
> default DocValuesFormat doesn't compress these but we could write one that 
> does.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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