[ https://issues.apache.org/jira/browse/YARN-10772?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17346543#comment-17346543 ]
Akira Ajisaka commented on YARN-10772: -------------------------------------- Hi [~weichiu], thank you for your report. LongRange comes from commons-lang 2.x, so we need to add back commons-lang 2.x dependency to fix the compatibility. BTW, in YARN-8363, we upgraded the signature to use commons-lang 3.x, which is still not good. If we upgrade commons-lang 4.x in the future, we break compatibility again. Instead, I want to create a public API to avoid the use of external library. > Stable API GetApplicationsRequest#newInstance compatibility broken by > YARN-8363 > ------------------------------------------------------------------------------- > > Key: YARN-10772 > URL: https://issues.apache.org/jira/browse/YARN-10772 > Project: Hadoop YARN > Issue Type: Bug > Components: api > Affects Versions: 3.2.0 > Reporter: Wei-Chiu Chuang > Priority: Major > > YARN-8363 migrated our usage of commons-lang to commons-lang3 in 3.2.0. > > Unfortunately, it changed the API signature of > {code:java} > /** > * <p> > * The request from clients to get a report of Applications matching the > * giving application types in the cluster from the > * <code>ResourceManager</code>. > * </p> > * > * @see ApplicationClientProtocol#getApplications(GetApplicationsRequest) > * > * <p>Setting any of the parameters to null, would just disable that > * filter</p> > * > * @param scope {@link ApplicationsRequestScope} to filter by > * @param users list of users to filter by > * @param queues list of scheduler queues to filter by > * @param applicationTypes types of applications > * @param applicationTags application tags to filter by > * @param applicationStates application states to filter by > * @param startRange range of application start times to filter by > * @param finishRange range of application finish times to filter by > * @param limit number of applications to limit to > * @return {@link GetApplicationsRequest} to be used with > * {@link ApplicationClientProtocol#getApplications(GetApplicationsRequest)} > */ > @Public > @Stable > public static GetApplicationsRequest newInstance( > ApplicationsRequestScope scope, > Set<String> users, > Set<String> queues, > Set<String> applicationTypes, > Set<String> applicationTags, > EnumSet<YarnApplicationState> applicationStates, > Range<Long> startRange, > Range<Long> finishRange, > Long limit) { {code} > The startRange and finishRange changed type from LongRange to Range<Long>. > It could cause problems when migrating applications, for example, from Hadoop > 3.1 to 3.3. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org