[
https://issues.apache.org/jira/browse/YARN-9027?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16694125#comment-16694125
]
Prabhu Joseph commented on YARN-9027:
-------------------------------------
[~rohithsharma] Please review the patch when you get time. Have tested the fix
on repro and works fine.
1. On using same dbPath for every EntityCacheItem leads to Lock Issue
{code}
Caused by: org.fusesource.leveldbjni.internal.NativeDB$DBException: IO error:
lock /hadoop/yarn/timeline/db-timeline-cache.ldb/LOCK: already held by process
at
org.fusesource.leveldbjni.internal.NativeDB.checkStatus(NativeDB.java:200)
at org.fusesource.leveldbjni.internal.NativeDB.open(NativeDB.java:218)
at org.fusesource.leveldbjni.JniDBFactory.open(JniDBFactory.java:168)
at
org.apache.hadoop.yarn.server.timeline.LevelDBCacheTimelineStore.serviceInit(LevelDBCacheTimelineStore.java:114)
at
org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)
... 67 more
{code}
2. Have set a unique integer for every EntityCacheItem's dbPath as the
EntityCacheItem is mapped with unique TimelineEntityGroupId in the cachedLogs.
{code}
private Map<TimelineEntityGroupId, EntityCacheItem> cachedLogs;
{code}
> EntityGroupFSTimelineStore fails to init LevelDBCacheTimelineStore
> -------------------------------------------------------------------
>
> Key: YARN-9027
> URL: https://issues.apache.org/jira/browse/YARN-9027
> Project: Hadoop YARN
> Issue Type: Bug
> Components: timelineserver
> Affects Versions: 2.7.3
> Reporter: Prabhu Joseph
> Assignee: Prabhu Joseph
> Priority: Major
> Attachments: 0001-YARN-9027.patch
>
>
> EntityGroupFSTimelineStore fails to init LevelDBCacheTimelineStore as the
> expected default constructor is not present.
> {code}
> Caused by: java.lang.RuntimeException: java.lang.NoSuchMethodException:
> org.apache.hadoop.yarn.server.timeline.LevelDBCacheTimelineStore.<init>()
> at
> org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:134)
> at
> org.apache.hadoop.yarn.server.timeline.EntityCacheItem.refreshCache(EntityCacheItem.java:100)
> at
> org.apache.hadoop.yarn.server.timeline.EntityGroupFSTimelineStore.getCachedStore(EntityGroupFSTimelineStore.java:1026)
> at
> org.apache.hadoop.yarn.server.timeline.EntityGroupFSTimelineStore.getTimelineStoresFromCacheIds(EntityGroupFSTimelineStore.java:945)
> at
> org.apache.hadoop.yarn.server.timeline.EntityGroupFSTimelineStore.getTimelineStoresForRead(EntityGroupFSTimelineStore.java:998)
> at
> org.apache.hadoop.yarn.server.timeline.EntityGroupFSTimelineStore.getEntities(EntityGroupFSTimelineStore.java:1040)
> at
> org.apache.hadoop.yarn.server.timeline.TimelineDataManager.doGetEntities(TimelineDataManager.java:168)
> at
> org.apache.hadoop.yarn.server.timeline.TimelineDataManager.getEntities(TimelineDataManager.java:138)
> at
> org.apache.hadoop.yarn.server.timeline.webapp.TimelineWebServices.getEntities(TimelineWebServices.java:117)
> ... 59 more
> Caused by: java.lang.NoSuchMethodException:
> org.apache.hadoop.yarn.server.timeline.LevelDBCacheTimelineStore.<init>()
> at java.lang.Class.getConstructor0(Class.java:3082)
> at java.lang.Class.getDeclaredConstructor(Class.java:2178)
> at
> org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:128)
> ... 67 more
> {code}
> Repro:
> {code}
> 1. Set Offline Caching with
> yarn.timeline-service.entity-group-fs-store.cache-store-class=org.apache.hadoop.yarn.server.timeline.LevelDBCacheTimelineStore
> 2. Run a Tez query
> 3. Check Tez View
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]