-
-
Notifications
You must be signed in to change notification settings - Fork 711
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ICU-22322 Bump guava from 30.0-jre to 32.0.0-jre in /tools/cldr/cldr-to-icu #2502
base: main
Are you sure you want to change the base?
ICU-22322 Bump guava from 30.0-jre to 32.0.0-jre in /tools/cldr/cldr-to-icu #2502
Conversation
022e297
to
898884f
Compare
Hooray! The files in the branch are the same across the force-push. 😃 ~ Your Friendly Jira-GitHub PR Checker Bot |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks fine
@pedberg-icu could you please run the CLDR-to-ICU converter unit tests on this PR?
I get a hang in CldrValue.parseValue when running the tests on the branch. Not sure whether it is related to the new libraries, investigating. |
Sorry, I've only seen this now. |
Everything seems to be working fine for me. But I am not directly involved in the CLDR / ICU dev / release. So I don't know what "the branch" means in "running the tests on the branch" But I've seen something interesting. This PR updates to And the Changelog for that version says: If the errors you see are on Windows, then maybe that's the cause? |
I am running on macOS, not Windows 🙃. By running tests on "this branch" I mean this I am running the tests using |
Hmm, the problems I am seeing could easily be with the latest cldr 44 production data, which we have not yet tried integrating to ICU. The hang I am seeing is when XPathParser.handleParse starts to process the path |
No, the FilteredDataTest hangs using CLDR 43.1 tools and production data too. |
@markusicu @mihnita I tried running the CLDR-to-ICU converter unit tests on the ICU main branch (i.e. without the guava lib update) using the CLDR 43.1 data (which was the last CLDR data integrated to ICU) and the tests hung in the same place: There are not tests I usually run (I had never run them until requested by Markus for this PR) and I have no idea how long they have been failing, but the failure does not seem related to the guava lib update in this PR. |
My bad about the null path, false alert. The tests need to run with
It is documented in the README. With that everything passes. But it would be nice to change the code to try properties, and if not defined the environment Patch:
|
I've created https://unicode-org.atlassian.net/jira/software/c/projects/CLDR/issues/CLDR-16797 |
Maybe dump of CLDR-16622 already fixed in CLDR v44 |
Created PR: unicode-org/cldr#3062 |
It looks indeed like the same issue. |
actually it may be the same issue but needing a different fix site, something like: diff --git a/tools/cldr-code/src/main/java/org/unicode/cldr/util/SupplementalDataInfo.java b/tools/cldr-code/src/main/java/org/unicode/cldr/util/SupplementalDataInfo.java
index 071ae0ef70..d60212759b 100644
--- a/tools/cldr-code/src/main/java/org/unicode/cldr/util/SupplementalDataInfo.java
+++ b/tools/cldr-code/src/main/java/org/unicode/cldr/util/SupplementalDataInfo.java
@@ -1282,7 +1282,7 @@ public class SupplementalDataInfo {
@Override
public void handlePathValue(String path, String value) {
try {
- XPathParts parts = XPathParts.getFrozenInstance(path);
+ XPathValue parts = SimpleXPathParts.getFrozenInstance(path);
String level0 = parts.getElement(0);
String level1 = parts.size() < 2 ? null : parts.getElement(1);
String level2 = parts.size() < 3 ? null : parts.getElement(2); XPathParts can enforce attribute ordering, which is needed for writing LDML. However, for reading such as here — at initialization time — SimpleXPathParts was added to break the concurrency issue. ICU data build is obviously initializing in a different order. |
I'm thinking we test for this by having a special test static final environment variable. If that variable is true, then XPathParts throws an exception until supplemental data is loaded. If we run the tests, we can find out if there are any remaining exposures. |
We should replace all XPathParts with XPathValue / SimplexPathParser where we are only reading and not writing. Simple doesn't have any dependencies. I'd almost say never, not even in production, use xpath parts until SDI/CldrConfig is loaded. And test for it always with a message. |
That said generally speaking CLDR needs fewer statics and not more. |
That changes seems to change the call site to avoid using I think my fix avoids the problem by fixing it closer to the root, directly in But it is your decision, I will do whatever you say. Mihai |
We should replace all XPathParts with XPathValue / SimplexPathParser
where we are only reading and not writing. Simple doesn't have any
dependencies.
I think we need a slightly different tack; we should use SimplePathParser
in anything that needs initialization (accessing supplemental data:
SupplementalDataInfo, Validity, etc).
We don't want to always use SimplePathParser, because
(a) XPathParts always checks a level of validity that SimplePathParser
doesn't
(b) if people get the toString value for it, and then use that, it will
cause failures in matching, because of the order.
…On Tue, Jun 27, 2023 at 8:46 PM Steven R. Loomis ***@***.***> wrote:
I'm thinking we test for this by having a special test static final
environment variable. If that variable is true, then XPathParts throws an
exception until supplemental data is loaded. If we run the tests, we can
find out if there are any remaining exposures.
We should replace all XPathParts with XPathValue / SimplexPathParser where
we are only reading and not writing. Simple doesn't have any dependencies.
I'd almost say never, not even in production, use xpath parts until
SDI/CldrConfig is loaded. And test for it always with a message.
—
Reply to this email directly, view it on GitHub
<#2502 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACJLEMAVSMOBUFJQ23Z3DGDXNOSKDANCNFSM6AAAAAAZHAEMXY>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Yes, because it's startup time. XPathParts isn't usable at startup time.
Keep it targeted there, I'll take a look. |
Status? Blocked on a deadlock in CLDR code, and the CLDR PR is not merged yet? @dependabot rebase |
Looks like this PR has been edited by someone other than Dependabot. That means Dependabot can't rebase it - sorry! If you're happy for Dependabot to recreate it from scratch, overwriting any edits, you can request |
Bumps guava from 30.0-jre to 32.0.0-jre.
Release notes
Sourced from guava's releases.
... (truncated)
Commits
You can trigger a rebase of this PR by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)You can disable automated security fix PRs for this repo from the Security Alerts page.