Comments (4)
Are you using Java?
Yes, I am using Java 12. I tried to extract the critical code into two simple methods to show what I called in essence. Was not really a reproducer. Your code works for me as well. Actually, it is hard to trace the reason for this error because all I get is the stacktrace which shows errors coming from Strata.
I imagine there is a race condition somewhere
I will try to find the reason and let you know..I need some time..
from strata.
Have you got some sample code that fails. I can't find anything immediately wrong. thanks
from strata.
For example, the following code (version 1) works and no error is thrown:
// this works (version 1):
Set<Boolean> check{
// using stream()-version
return ids.stream().flatMap(id -> check(id).stream()).collect(Collectors.toSet());
}
boolean check(HolidayCalendarId id){
return id.resolve(ReferenceData.standard()).isHoliday(LocalDate.now());
}
The following code (version 2) does NOT work and throws the exception:
// this fails because of parallelStream()
Set<Boolean> check{
// using parallelStream()-version
return ids.parallelStream().flatMap(id -> check(id).stream()).collect(Collectors.toSet());
}
boolean check(HolidayCalendarId id){
return id.resolve(ReferenceData.standard()).isHoliday(LocalDate.now());
}
The stacktrace when using parallelStream()
-version:
11:23:49,731 SEVERE [com.opengamma.strata.collect.io.ResourceConfig]
No resource files found on the classpath:
[META-INF/com/opengamma/strata/config/base/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/base1/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/base2/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/base3/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/base4/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/base5/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/base6/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/base7/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/base8/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/base9/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/library/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/library1/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/library2/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/library3/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/library4/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/library5/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/library6/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/library7/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/library8/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/library9/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/application/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/application1/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/application2/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/application3/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/application4/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/application5/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/application6/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/application7/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/application8/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/application9/HolidayCalendar.ini]
11:23:49,734 SEVERE [com.opengamma.strata.collect.named.ExtendedEnum] Failed to load ExtendedEnum for interface com.opengamma.strata.basics.date.HolidayCalendar: java.lang.IllegalStateException:
No files found on the classpath: [META-INF/com/opengamma/strata/config/base/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/base1/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/base2/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/base3/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/base4/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/base5/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/base6/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/base7/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/base8/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/base9/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/library/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/library1/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/library2/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/library3/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/library4/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/library5/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/library6/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/library7/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/library8/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/library9/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/application/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/application1/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/application2/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/application3/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/application4/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/application5/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/application6/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/application7/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/application8/HolidayCalendar.ini, META-INF/com/opengamma/strata/config/application9/HolidayCalendar.ini]
..
1:23:49,737 ERROR com.opengamma.strata.basics.ReferenceDataNotFoundException:
Reference data not found for identifier 'NYSE' of type 'HolidayCalendarId'
at test.war//com.opengamma.strata.basics.ReferenceData.getValue(ReferenceData.java:111)
at test.war//com.opengamma.strata.basics.date.HolidayCalendarId.resolve(HolidayCalendarId.java:227)
According to stacktrace Reference data not found for identifier 'NYSE' of type 'HolidayCalendarId'
, but it is definitly available on the classpath and this error is NOT shown when using version 1 (the stream()
-version).
from strata.
Running this Java code on Java 8 or 11 with 38,000 IDs results in no error:
public static void main(String[] args) {
check2();
System.out.println("done");
}
static Set<Boolean> check2() {
return IDS.parallelStream().flatMap(id -> Stream.of(check(id))).collect(Collectors.toSet());
}
static boolean check(HolidayCalendarId id) {
return id.resolve(ReferenceData.standard()).isHoliday(LocalDate.now());
}
Are you using Java? (Your original code did not compile).
I imagine there is a race condition somewhere, but it is hard to examine without a reproducer
from strata.
Related Issues (20)
- NormalFormulaRepository: bug in impliedVolatility HOT 1
- Add AMERIBOR overnight index in USD HOT 1
- Possible Convention Issue HOT 4
- Act/Act ICMA Day-Counter HOT 1
- test errors on AArch64, Fedora 33
- Linked (intersection of 2) holiday calendars is always resolved as HolidayCalendars.NO_HOLIDAYS
- Vanilla Swap Price example NPV - doesn't match with c++ QuantLib
- Dependency convergence warning for joda-convert HOT 3
- Date question HOT 1
- Test Smell: it is not a good practice to write the return statement in test cases HOT 4
- AUSY contains Aug & Oct state-local holidays HOT 1
- Add more function for the support KOFR OvernightIndex Futures
- Test Smell: it is not a good practice for writing return statement in test casr HOT 5
- SwapTradeCsvPlugin: not parsing XCcy ON/ON HOT 1
- Yield calculates incorrectly on bonds with short/long last coupon
- Periodic schedule deduplication does not work when there are same elements in more than 2 count
- BigMoney does not behave like Money HOT 1
- Release note link redirected to old 18 May 2022 update
- Dates must be in time-line order
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from strata.