Example usage for org.apache.hadoop.yarn.server.resourcemanager.recovery.records.impl.pb ApplicationStateDataPBImpl getProto

List of usage examples for org.apache.hadoop.yarn.server.resourcemanager.recovery.records.impl.pb ApplicationStateDataPBImpl getProto

Introduction

In this page you can find the example usage for org.apache.hadoop.yarn.server.resourcemanager.recovery.records.impl.pb ApplicationStateDataPBImpl getProto.

Prototype

@Override
    public ApplicationStateDataProto getProto() 

Source Link

Usage

From source file:io.hops.ha.common.TransactionStateImpl.java

License:Apache License

private void persitApplicationToAdd() throws IOException {
    if (!applicationsToAdd.isEmpty()) {
        ApplicationStateDataAccess DA = (ApplicationStateDataAccess) RMStorageFactory
                .getDataAccess(ApplicationStateDataAccess.class);
        List<ApplicationState> newAppStates = new ArrayList<ApplicationState>();
        for (RMAppImpl app : applicationsToAdd) {
            if (!applicationsStateToRemove.remove(app.getApplicationId())) {
                ApplicationStateDataPBImpl appStateData = (ApplicationStateDataPBImpl) ApplicationStateDataPBImpl
                        .newApplicationStateData(app.getSubmitTime(), app.getStartTime(), app.getUser(),
                                app.getApplicationSubmissionContext(), app.getState(),
                                app.getDiagnostics().toString(), app.getFinishTime(), app.getUpdatedNodesId());
                byte[] appStateDataBytes = appStateData.getProto().toByteArray();
                LOG.debug("persist app : " + app.getApplicationSubmissionContext().getApplicationId()
                        + " with state " + app.getState());
                ApplicationState hop = new ApplicationState(app.getApplicationId().toString(),
                        appStateDataBytes, app.getUser(), app.getName(), app.getState().toString());
                newAppStates.add(hop);/*  w w w. ja  va 2s .  c o m*/
            }
        }
        DA.addAll(newAppStates);
    }
}