[
https://issues.apache.org/jira/browse/YARN-2765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14225262#comment-14225262
]
Jian He commented on YARN-2765:
-------------------------------
Thanks, Jason! Patch looks good. just a few minor comments.
- Patch needs updated on top of YARN-2404.
- we may use the following constants from the RMStateStore base class
— DB_SCHEMA_VERSION_KEY -> VERSION_NODE
— EPOCH_KEY -> EPOCH_NODE
— RM_DT_SEQUENCE_NUMBER_KEY: use DELEGATION_TOKEN_SEQUENCE_NUMBER_PREFIX for
“RMDTSequentialNumber”
- this check is always true and so unnecessary, as attemptState is earlier
initialized with attemptId
{code}
if (!attemptId.equals(attemptState.getAttemptId())) {
throw new YarnRuntimeException("The database entry for " + attemptId
+ " contains data for " + attemptState.getAttemptId());
}
{code}
Some naming suggestions:
- loadRMAppAttemptState-> createAttemptState
- loadRMAppState(String appIdStr, byte[] data) -> createApplicationState
- {{String itemName = key.substring(keyPrefix.length());}} rename itemName to
attemptId, and keyPrefix to attemptNodePrefix
- Question: does the levelDB client API handle retry ?
> Add leveldb-based implementation for RMStateStore
> -------------------------------------------------
>
> Key: YARN-2765
> URL: https://issues.apache.org/jira/browse/YARN-2765
> Project: Hadoop YARN
> Issue Type: Sub-task
> Components: resourcemanager
> Reporter: Jason Lowe
> Assignee: Jason Lowe
> Attachments: YARN-2765.patch, YARN-2765v2.patch
>
>
> It would be nice to have a leveldb option to the resourcemanager recovery
> store. Leveldb would provide some benefits over the existing filesystem store
> such as better support for atomic operations, fewer I/O ops per state update,
> and far fewer total files on the filesystem.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)