HADOOP-15013. Fix ResourceEstimator findbugs issues. (asuresh)
This commit is contained in:
parent
e6ec02001f
commit
53c0fb7efe
|
@ -65,51 +65,49 @@ import com.google.inject.Singleton;
|
|||
@Singleton @Path("/resourceestimator") public class ResourceEstimatorService {
|
||||
private static final Logger LOGGER =
|
||||
LoggerFactory.getLogger(ResourceEstimatorService.class);
|
||||
private static SkylineStore skylineStore;
|
||||
private static Solver solver;
|
||||
private static LogParser logParser;
|
||||
private static LogParserUtil logParserUtil = new LogParserUtil();
|
||||
private static Configuration config;
|
||||
private static Gson gson;
|
||||
private static Type rleType;
|
||||
private static Type skylineStoreType;
|
||||
private final SkylineStore skylineStore;
|
||||
private final Solver solver;
|
||||
private final LogParser logParser;
|
||||
private final LogParserUtil logParserUtil = new LogParserUtil();
|
||||
private final Configuration config;
|
||||
private final Gson gson;
|
||||
private final Type rleType;
|
||||
private final Type skylineStoreType;
|
||||
|
||||
public ResourceEstimatorService() throws ResourceEstimatorException {
|
||||
if (skylineStore == null) {
|
||||
try {
|
||||
config = new Configuration();
|
||||
config.addResource(ResourceEstimatorConfiguration.CONFIG_FILE);
|
||||
skylineStore = ResourceEstimatorUtil.createProviderInstance(config,
|
||||
ResourceEstimatorConfiguration.SKYLINESTORE_PROVIDER,
|
||||
ResourceEstimatorConfiguration.DEFAULT_SKYLINESTORE_PROVIDER,
|
||||
SkylineStore.class);
|
||||
logParser = ResourceEstimatorUtil.createProviderInstance(config,
|
||||
ResourceEstimatorConfiguration.TRANSLATOR_PROVIDER,
|
||||
ResourceEstimatorConfiguration.DEFAULT_TRANSLATOR_PROVIDER,
|
||||
LogParser.class);
|
||||
logParser.init(config, skylineStore);
|
||||
logParserUtil.setLogParser(logParser);
|
||||
solver = ResourceEstimatorUtil.createProviderInstance(config,
|
||||
ResourceEstimatorConfiguration.SOLVER_PROVIDER,
|
||||
ResourceEstimatorConfiguration.DEFAULT_SOLVER_PROVIDER,
|
||||
Solver.class);
|
||||
solver.init(config, skylineStore);
|
||||
} catch (Exception ex) {
|
||||
LOGGER
|
||||
.error("Server initialization failed due to: {}", ex.getMessage());
|
||||
throw new ResourceEstimatorException(ex.getMessage(), ex);
|
||||
}
|
||||
gson = new GsonBuilder()
|
||||
.registerTypeAdapter(Resource.class, new ResourceSerDe())
|
||||
.registerTypeAdapter(RLESparseResourceAllocation.class,
|
||||
new RLESparseResourceAllocationSerDe())
|
||||
.enableComplexMapKeySerialization().create();
|
||||
rleType = new TypeToken<RLESparseResourceAllocation>() {
|
||||
}.getType();
|
||||
skylineStoreType =
|
||||
new TypeToken<Map<RecurrenceId, List<ResourceSkyline>>>() {
|
||||
}.getType();
|
||||
try {
|
||||
config = new Configuration();
|
||||
config.addResource(ResourceEstimatorConfiguration.CONFIG_FILE);
|
||||
skylineStore = ResourceEstimatorUtil.createProviderInstance(config,
|
||||
ResourceEstimatorConfiguration.SKYLINESTORE_PROVIDER,
|
||||
ResourceEstimatorConfiguration.DEFAULT_SKYLINESTORE_PROVIDER,
|
||||
SkylineStore.class);
|
||||
logParser = ResourceEstimatorUtil.createProviderInstance(config,
|
||||
ResourceEstimatorConfiguration.TRANSLATOR_PROVIDER,
|
||||
ResourceEstimatorConfiguration.DEFAULT_TRANSLATOR_PROVIDER,
|
||||
LogParser.class);
|
||||
logParser.init(config, skylineStore);
|
||||
logParserUtil.setLogParser(logParser);
|
||||
solver = ResourceEstimatorUtil.createProviderInstance(config,
|
||||
ResourceEstimatorConfiguration.SOLVER_PROVIDER,
|
||||
ResourceEstimatorConfiguration.DEFAULT_SOLVER_PROVIDER,
|
||||
Solver.class);
|
||||
solver.init(config, skylineStore);
|
||||
} catch (Exception ex) {
|
||||
LOGGER
|
||||
.error("Server initialization failed due to: {}", ex.getMessage());
|
||||
throw new ResourceEstimatorException(ex.getMessage(), ex);
|
||||
}
|
||||
gson = new GsonBuilder()
|
||||
.registerTypeAdapter(Resource.class, new ResourceSerDe())
|
||||
.registerTypeAdapter(RLESparseResourceAllocation.class,
|
||||
new RLESparseResourceAllocationSerDe())
|
||||
.enableComplexMapKeySerialization().create();
|
||||
rleType = new TypeToken<RLESparseResourceAllocation>() {
|
||||
}.getType();
|
||||
skylineStoreType =
|
||||
new TypeToken<Map<RecurrenceId, List<ResourceSkyline>>>() {
|
||||
}.getType();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -192,9 +190,6 @@ import com.google.inject.Singleton;
|
|||
LOGGER
|
||||
.debug("Query the skyline store for recurrenceId: {}." + recurrenceId);
|
||||
|
||||
recurrenceId = new RecurrenceId("*", "*");
|
||||
jobHistory = skylineStore.getHistory(recurrenceId);
|
||||
|
||||
return skyline;
|
||||
}
|
||||
|
||||
|
|
|
@ -24,11 +24,13 @@ import java.io.BufferedReader;
|
|||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.text.ParseException;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.commons.lang.CharSet;
|
||||
import org.apache.hadoop.conf.Configuration;
|
||||
import org.apache.hadoop.resourceestimator.common.api.RecurrenceId;
|
||||
import org.apache.hadoop.resourceestimator.common.api.ResourceSkyline;
|
||||
|
@ -101,7 +103,8 @@ public class BaseLogParser implements LogParser {
|
|||
new HashMap<>();
|
||||
final Map<String, JobMetaData> jobMetas =
|
||||
new HashMap<String, JobMetaData>();
|
||||
final BufferedReader bf = new BufferedReader(new InputStreamReader(logs));
|
||||
final BufferedReader bf = new BufferedReader(
|
||||
new InputStreamReader(logs, StandardCharsets.UTF_8));
|
||||
String line = null;
|
||||
while ((line = bf.readLine()) != null) {
|
||||
try {
|
||||
|
|
|
@ -91,7 +91,14 @@ public class LogParserUtil {
|
|||
throw new ResourceEstimatorException("The log parser is not initialized,"
|
||||
+ " please try again after initializing.");
|
||||
}
|
||||
InputStream inputStream = new FileInputStream(logFile);
|
||||
logParser.parseStream(inputStream);
|
||||
InputStream inputStream = null;
|
||||
try {
|
||||
inputStream = new FileInputStream(logFile);
|
||||
logParser.parseStream(inputStream);
|
||||
} finally {
|
||||
if (inputStream != null) {
|
||||
inputStream.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -54,8 +54,6 @@ import com.sun.jersey.test.framework.WebAppDescriptor;
|
|||
* Test ResourceEstimatorService.
|
||||
*/
|
||||
public class TestResourceEstimatorService extends JerseyTest {
|
||||
private static final Logger LOGGER =
|
||||
LoggerFactory.getLogger(TestResourceEstimatorService.class);
|
||||
private final String parseLogCommand = "resourceestimator/translator/"
|
||||
+ "src/test/resources/resourceEstimatorService.txt";
|
||||
private final String getHistorySkylineCommand =
|
||||
|
|
Loading…
Reference in New Issue