You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemml.apache.org by mb...@apache.org on 2018/03/24 05:18:38 UTC
[05/10] systemml git commit: [SYSTEMML-2191] Cleanup exception
hierarchy and handling, part 1
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/parser/IfStatementBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/IfStatementBlock.java b/src/main/java/org/apache/sysml/parser/IfStatementBlock.java
index 00295d1..aa9c7b5 100644
--- a/src/main/java/org/apache/sysml/parser/IfStatementBlock.java
+++ b/src/main/java/org/apache/sysml/parser/IfStatementBlock.java
@@ -19,14 +19,12 @@
package org.apache.sysml.parser;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map.Entry;
import org.apache.sysml.conf.ConfigurationManager;
import org.apache.sysml.hops.Hop;
-import org.apache.sysml.hops.HopsException;
import org.apache.sysml.hops.recompile.Recompiler;
import org.apache.sysml.lops.Lop;
import org.apache.sysml.parser.Expression.DataType;
@@ -40,8 +38,7 @@ public class IfStatementBlock extends StatementBlock
@Override
public VariableSet validate(DMLProgram dmlProg, VariableSet ids, HashMap<String,ConstIdentifier> constVars, boolean conditional)
- throws LanguageException, ParseException, IOException
- {
+ {
if (_statements.size() > 1){
raiseValidateError("IfStatementBlock should only have 1 statement (IfStatement)", conditional);
}
@@ -287,8 +284,7 @@ public class IfStatementBlock extends StatementBlock
@Override
public VariableSet initializeforwardLV(VariableSet activeInPassed)
- throws LanguageException
- {
+ {
IfStatement ifstmt = (IfStatement)_statements.get(0);
if (_statements.size() > 1){
LOG.error(ifstmt.printErrorLocation() + "IfStatementBlock should have only 1 statement (if statement)");
@@ -421,8 +417,7 @@ public class IfStatementBlock extends StatementBlock
@Override
public VariableSet initializebackwardLV(VariableSet loPassed)
- throws LanguageException
- {
+ {
IfStatement ifstmt = (IfStatement)_statements.get(0);
if (_statements.size() > 1){
LOG.error(ifstmt.printErrorLocation() + "IfStatementBlock should have only 1 statement (if statement)");
@@ -468,7 +463,7 @@ public class IfStatementBlock extends StatementBlock
}
@Override
- public VariableSet analyze(VariableSet loPassed) throws LanguageException{
+ public VariableSet analyze(VariableSet loPassed) {
VariableSet predVars = ((IfStatement)_statements.get(0)).getConditionalPredicate().variablesRead();
predVars.addVariables(((IfStatement)_statements.get(0)).getConditionalPredicate().variablesUpdated());
@@ -515,7 +510,7 @@ public class IfStatementBlock extends StatementBlock
// materialized hops recompilation flags
////
- public boolean updatePredicateRecompilationFlag() throws HopsException {
+ public boolean updatePredicateRecompilationFlag() {
return (_requiresPredicateRecompile =
ConfigurationManager.isDynamicRecompilation()
&& Recompiler.requiresRecompilation(getPredicateHops()));
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/parser/ImportStatement.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/ImportStatement.java b/src/main/java/org/apache/sysml/parser/ImportStatement.java
index 6b892d1..4f2c475 100644
--- a/src/main/java/org/apache/sysml/parser/ImportStatement.java
+++ b/src/main/java/org/apache/sysml/parser/ImportStatement.java
@@ -75,7 +75,7 @@ public class ImportStatement extends Statement
@Override
- public Statement rewriteStatement(String prefix) throws LanguageException{
+ public Statement rewriteStatement(String prefix) {
LOG.error(this.printErrorLocation() + "rewriting for inlining not supported for ImportStatement");
throw new LanguageException(this.printErrorLocation() + "rewriting for inlining not supported for ImportStatement");
}
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/parser/IndexedIdentifier.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/IndexedIdentifier.java b/src/main/java/org/apache/sysml/parser/IndexedIdentifier.java
index 09dafc2..97e94c5 100644
--- a/src/main/java/org/apache/sysml/parser/IndexedIdentifier.java
+++ b/src/main/java/org/apache/sysml/parser/IndexedIdentifier.java
@@ -72,8 +72,7 @@ public class IndexedIdentifier extends DataIdentifier
}
public IndexPair calculateIndexedDimensions(HashMap<String,DataIdentifier> ids, HashMap<String, ConstIdentifier> currConstVars, boolean conditional)
- throws LanguageException
- {
+ {
// stores the updated row / col dimension info
long updatedRowDim = -1, updatedColDim = -1;
@@ -528,7 +527,7 @@ public class IndexedIdentifier extends DataIdentifier
@Override
- public Expression rewriteExpression(String prefix) throws LanguageException {
+ public Expression rewriteExpression(String prefix) {
IndexedIdentifier newIndexedIdentifier = new IndexedIdentifier(this.getName(), this._rowLowerEqualsUpper, this._colLowerEqualsUpper);
newIndexedIdentifier.setParseInfo(this);
@@ -549,7 +548,7 @@ public class IndexedIdentifier extends DataIdentifier
return newIndexedIdentifier;
}
- public void setIndices(ArrayList<ArrayList<Expression>> passed) throws LanguageException {
+ public void setIndices(ArrayList<ArrayList<Expression>> passed) {
if (passed.size() != 2)
raiseValidateError("matrix indices must be specified for 2 dimensions");
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/parser/IntIdentifier.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/IntIdentifier.java b/src/main/java/org/apache/sysml/parser/IntIdentifier.java
index 1e384bc..3833ce0 100644
--- a/src/main/java/org/apache/sysml/parser/IntIdentifier.java
+++ b/src/main/java/org/apache/sysml/parser/IntIdentifier.java
@@ -26,7 +26,7 @@ public class IntIdentifier extends ConstIdentifier
private long _val;
@Override
- public Expression rewriteExpression(String prefix) throws LanguageException{
+ public Expression rewriteExpression(String prefix) {
return this;
}
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/parser/IterablePredicate.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/IterablePredicate.java b/src/main/java/org/apache/sysml/parser/IterablePredicate.java
index ea49073..cf859c3 100644
--- a/src/main/java/org/apache/sysml/parser/IterablePredicate.java
+++ b/src/main/java/org/apache/sysml/parser/IterablePredicate.java
@@ -61,7 +61,7 @@ public class IterablePredicate extends Expression
}
@Override
- public Expression rewriteExpression(String prefix) throws LanguageException {
+ public Expression rewriteExpression(String prefix) {
//DataIdentifier newIterVar = (DataIdentifier)_iterVar.rewriteExpression(prefix);
//return new IterablePredicate(newIterVar, _from, _to, _increment);
LOG.error(this.printErrorLocation() + "rewriteExpression not supported for IterablePredicate");
@@ -70,7 +70,6 @@ public class IterablePredicate extends Expression
@Override
public void validateExpression(HashMap<String, DataIdentifier> ids, HashMap<String, ConstIdentifier> constVars, boolean conditional)
- throws LanguageException
{
//recursive validate
if (_iterVar instanceof FunctionCallIdentifier
@@ -185,9 +184,7 @@ public class IterablePredicate extends Expression
return sb.toString();
}
- private void checkNumericScalarOutput( Expression expr )
- throws LanguageException
- {
+ private void checkNumericScalarOutput( Expression expr ) {
if( expr == null || expr.getOutput() == null )
return;
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/parser/LiveVariableAnalysis.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/LiveVariableAnalysis.java b/src/main/java/org/apache/sysml/parser/LiveVariableAnalysis.java
index 0417edb..e851907 100644
--- a/src/main/java/org/apache/sysml/parser/LiveVariableAnalysis.java
+++ b/src/main/java/org/apache/sysml/parser/LiveVariableAnalysis.java
@@ -85,9 +85,9 @@ public abstract class LiveVariableAnalysis
_read = vars;
}
- public abstract VariableSet initializeforwardLV(VariableSet activeIn) throws LanguageException;
- public abstract VariableSet initializebackwardLV(VariableSet loPassed) throws LanguageException;
- public abstract VariableSet analyze(VariableSet loPassed) throws LanguageException;
+ public abstract VariableSet initializeforwardLV(VariableSet activeIn);
+ public abstract VariableSet initializebackwardLV(VariableSet loPassed);
+ public abstract VariableSet analyze(VariableSet loPassed);
public void updateLiveVariablesOut(VariableSet liveOut){
updateLiveVariables(_liveOut,liveOut);
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/parser/MultiAssignmentStatement.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/MultiAssignmentStatement.java b/src/main/java/org/apache/sysml/parser/MultiAssignmentStatement.java
index 4010a65..b01dd2e 100644
--- a/src/main/java/org/apache/sysml/parser/MultiAssignmentStatement.java
+++ b/src/main/java/org/apache/sysml/parser/MultiAssignmentStatement.java
@@ -33,8 +33,7 @@ public class MultiAssignmentStatement extends Statement
// rewrites statement to support function inlining (creates deep copy)
@Override
- public Statement rewriteStatement(String prefix) throws LanguageException{
-
+ public Statement rewriteStatement(String prefix) {
ArrayList<DataIdentifier> newTargetList = new ArrayList<>();
// rewrite targetList (deep copy)
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/parser/OutputStatement.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/OutputStatement.java b/src/main/java/org/apache/sysml/parser/OutputStatement.java
index af02f8f..43b1edd 100644
--- a/src/main/java/org/apache/sysml/parser/OutputStatement.java
+++ b/src/main/java/org/apache/sysml/parser/OutputStatement.java
@@ -70,27 +70,20 @@ public class OutputStatement extends Statement
return false;
}
- public void addExprParam(String name, Expression value, boolean fromMTDFile)
- throws LanguageException
- {
+ public void addExprParam(String name, Expression value, boolean fromMTDFile) {
if( _paramsExpr.getVarParam(name) != null )
raiseValidateError("attempted to add IOStatement parameter " + name + " more than once", false);
-
if( !OutputStatement.isValidParamName(name) )
raiseValidateError("attempted to add invalid write statement parameter: " + name, false);
-
_paramsExpr.addVarParam(name, value);
}
// rewrites statement to support function inlining (create deep copy)
@Override
- public Statement rewriteStatement(String prefix) throws LanguageException{
-
+ public Statement rewriteStatement(String prefix) {
OutputStatement newStatement = new OutputStatement(null, Expression.DataOp.WRITE, this);
-
// rewrite outputStatement variable name (creates deep copy)
newStatement._id = (DataIdentifier)this._id.rewriteExpression(prefix);
-
// rewrite parameter expressions (creates deep copy)
DataOp op = _paramsExpr.getOpCode();
HashMap<String,Expression> newExprParams = new HashMap<>();
@@ -102,10 +95,11 @@ public class OutputStatement extends Statement
newStatement.setExprParams(newParamerizedExpr);
return newStatement;
}
-
+
public void setExprParams(DataExpression newParamerizedExpr) {
_paramsExpr = newParamerizedExpr;
}
+
public Expression getExprParam(String key){
return _paramsExpr.getVarParam(key);
}
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/parser/ParForStatementBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/ParForStatementBlock.java b/src/main/java/org/apache/sysml/parser/ParForStatementBlock.java
index d209c36..dee1384 100644
--- a/src/main/java/org/apache/sysml/parser/ParForStatementBlock.java
+++ b/src/main/java/org/apache/sysml/parser/ParForStatementBlock.java
@@ -19,7 +19,6 @@
package org.apache.sysml.parser;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
@@ -175,8 +174,7 @@ public class ParForStatementBlock extends ForStatementBlock
@Override
public VariableSet validate(DMLProgram dmlProg, VariableSet ids, HashMap<String,ConstIdentifier> constVars, boolean conditional)
- throws LanguageException, ParseException, IOException
- {
+ {
LOG.trace("PARFOR("+_ID+"): validating ParForStatementBlock.");
//create parent variable set via cloning
@@ -419,10 +417,8 @@ public class ParForStatementBlock extends ForStatementBlock
* @param asb list of statement blocks
* @param C set of candidates
* @param sCount statement count
- * @throws LanguageException if LanguageException occurs
*/
private void rDetermineCandidates(ArrayList<StatementBlock> asb, HashSet<Candidate> C, Integer sCount)
- throws LanguageException
{
for(StatementBlock sb : asb ) // foreach statementblock in parforbody
for( Statement s : sb._statements ) // foreach statement in statement block
@@ -476,10 +472,8 @@ public class ParForStatementBlock extends ForStatementBlock
* @param var variables
* @param asb list of statement blocks
* @param C list of partition formats
- * @throws LanguageException if LanguageException occurs
*/
private void rDeterminePartitioningCandidates(String var, ArrayList<StatementBlock> asb, List<PartitionFormat> C)
- throws LanguageException
{
for(StatementBlock sb : asb ) // foreach statementblock in parforbody
for( Statement s : sb._statements ) // foreach statement in statement block
@@ -600,7 +594,6 @@ public class ParForStatementBlock extends ForStatementBlock
}
private void rConsolidateResultVars(ArrayList<StatementBlock> asb, ArrayList<ResultVar> vars)
- throws LanguageException
{
for(StatementBlock sb : asb ) // foreach statementblock in parforbody
{
@@ -633,12 +626,10 @@ public class ParForStatementBlock extends ForStatementBlock
* @param asb list of statement blocks
* @param sCount statement count
* @param dep array of boolean potential output dependencies
- * @throws LanguageException if LanguageException occurs
*/
private void rCheckCandidates(Candidate c, DataType cdt,
ArrayList<StatementBlock> asb, Integer sCount, boolean[] dep)
- throws LanguageException
- {
+ {
// check candidate only (output dependency if scalar or constant matrix subscript)
if( cdt == DataType.SCALAR
|| cdt == DataType.OBJECT ) //dat2 checked for other candidate
@@ -865,7 +856,7 @@ public class ParForStatementBlock extends ForStatementBlock
return ret;
}
- private void rDetermineBounds( ArrayList<StatementBlock> sbs, boolean flag ) throws LanguageException {
+ private void rDetermineBounds( ArrayList<StatementBlock> sbs, boolean flag ) {
for( StatementBlock sb : sbs )
rDetermineBounds(sb, flag);
}
@@ -875,10 +866,8 @@ public class ParForStatementBlock extends ForStatementBlock
*
* @param sb statement block
* @param flag indicates that method is already in subtree of THIS.
- * @throws LanguageException if LanguageException occurs
*/
private void rDetermineBounds( StatementBlock sb, boolean flag )
- throws LanguageException
{
// catch all known for/ parfor bounds
// (all unknown bounds are assumed to be +-infinity)
@@ -1000,10 +989,8 @@ public class ParForStatementBlock extends ForStatementBlock
* @param dat1 data identifier 1
* @param dat2 data identifier 2
* @return true if "anti or data dependency"
- * @throws LanguageException if LanguageException occurs
*/
private boolean runBanerjeeGCDTest(DataIdentifier dat1, DataIdentifier dat2)
- throws LanguageException
{
/* The GCD (greatest common denominator) and the Banerjee test are two commonly used tests
* for determining loop-carried dependencies. Both rely on (1) linear index expressions of the
@@ -1151,10 +1138,8 @@ public class ParForStatementBlock extends ForStatementBlock
*
* @param dat1 data identifier
* @return true if dependency
- * @throws LanguageException if LanguageException occurs
*/
private boolean runConstantCheck(DataIdentifier dat1)
- throws LanguageException
{
LOG.trace("PARFOR: runConstantCheck.");
@@ -1201,10 +1186,8 @@ public class ParForStatementBlock extends ForStatementBlock
* @param dat1 data identifier 1
* @param dat2 data identifier 2
* @return true if equal data identifiers
- * @throws LanguageException if LanguageException occurs
*/
private boolean runEqualsCheck(DataIdentifier dat1, DataIdentifier dat2)
- throws LanguageException
{
LOG.trace("PARFOR: runEqualsCheck.");
@@ -1272,10 +1255,8 @@ public class ParForStatementBlock extends ForStatementBlock
*
* @param dat data identifier
* @return linear function
- * @throws LanguageException if LanguageException occurs
*/
private LinearFunction getLinearFunction(DataIdentifier dat)
- throws LanguageException
{
/* Notes:
* - Currently, this function supports 2dim matrix subscripts with arbitrary linear functions
@@ -1463,7 +1444,6 @@ public class ParForStatementBlock extends ForStatementBlock
}
private LinearFunction getRowLinearFunction(DataIdentifier dat)
- throws LanguageException
{
//NOTE: would require separate function cache, not realized due to inexpensive operations
@@ -1501,7 +1481,6 @@ public class ParForStatementBlock extends ForStatementBlock
}
private LinearFunction getColLinearFunction(DataIdentifier dat)
- throws LanguageException
{
//NOTE: would require separate function cache, not realized due to inexpensive operations
@@ -1538,8 +1517,7 @@ public class ParForStatementBlock extends ForStatementBlock
return out;
}
- private LinearFunction getLinearFunction(Expression expr, boolean ignoreMinWithConstant)
- throws LanguageException {
+ private LinearFunction getLinearFunction(Expression expr, boolean ignoreMinWithConstant) {
if( expr instanceof IntIdentifier )
return new LinearFunction(((IntIdentifier)expr).getValue(), 0, null);
else if( expr instanceof BinaryExpression )
@@ -1611,10 +1589,8 @@ public class ParForStatementBlock extends ForStatementBlock
* robustness purposes.
*
* @param f1 linear function
- * @throws LanguageException if LanguageException occurs
*/
private void verifyFunction(LinearFunction f1)
- throws LanguageException
{
//check for required form of linear functions
if( f1 == null || f1._b.length != f1._vars.length ) {
@@ -1687,10 +1663,8 @@ public class ParForStatementBlock extends ForStatementBlock
*
* @param be binary expression
* @return linear function
- * @throws LanguageException if LanguageException occurs
*/
private LinearFunction rParseBinaryExpression(BinaryExpression be)
- throws LanguageException
{
LinearFunction ret = null;
Expression l = be.getLeft();
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/parser/ParameterizedBuiltinFunctionExpression.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/ParameterizedBuiltinFunctionExpression.java b/src/main/java/org/apache/sysml/parser/ParameterizedBuiltinFunctionExpression.java
index dbb2a1e..e80b46f 100644
--- a/src/main/java/org/apache/sysml/parser/ParameterizedBuiltinFunctionExpression.java
+++ b/src/main/java/org/apache/sysml/parser/ParameterizedBuiltinFunctionExpression.java
@@ -144,7 +144,7 @@ public class ParameterizedBuiltinFunctionExpression extends DataIdentifier
}
@Override
- public Expression rewriteExpression(String prefix) throws LanguageException {
+ public Expression rewriteExpression(String prefix) {
HashMap<String,Expression> newVarParams = new HashMap<>();
for (String key : _varParams.keySet()){
Expression newExpr = _varParams.get(key).rewriteExpression(prefix);
@@ -181,8 +181,7 @@ public class ParameterizedBuiltinFunctionExpression extends DataIdentifier
*/
@Override
public void validateExpression(HashMap<String, DataIdentifier> ids, HashMap<String, ConstIdentifier> constVars, boolean conditional)
- throws LanguageException
- {
+ {
// validate all input parameters
for ( String s : getVarParams().keySet() ) {
Expression paramExpr = getVarParam(s);
@@ -264,7 +263,6 @@ public class ParameterizedBuiltinFunctionExpression extends DataIdentifier
@Override
public void validateExpression(MultiAssignmentStatement stmt, HashMap<String, DataIdentifier> ids, HashMap<String, ConstIdentifier> constVars, boolean conditional)
- throws LanguageException
{
// validate all input parameters
for ( String s : getVarParams().keySet() ) {
@@ -296,7 +294,6 @@ public class ParameterizedBuiltinFunctionExpression extends DataIdentifier
// example: A = transformapply(target=X, meta=M, spec=s)
private void validateTransformApply(DataIdentifier output, boolean conditional)
- throws LanguageException
{
//validate data / metadata (recode maps)
checkDataType("transformapply", TF_FN_PARAM_DATA, DataType.FRAME, conditional);
@@ -313,7 +310,6 @@ public class ParameterizedBuiltinFunctionExpression extends DataIdentifier
}
private void validateTransformDecode(DataIdentifier output, boolean conditional)
- throws LanguageException
{
//validate data / metadata (recode maps)
checkDataType("transformdecode", TF_FN_PARAM_DATA, DataType.MATRIX, conditional);
@@ -330,7 +326,6 @@ public class ParameterizedBuiltinFunctionExpression extends DataIdentifier
}
private void validateTransformColmap(DataIdentifier output, boolean conditional)
- throws LanguageException
{
//validate data / metadata (recode maps)
Expression exprTarget = getVarParam(Statement.GAGG_TARGET);
@@ -347,7 +342,6 @@ public class ParameterizedBuiltinFunctionExpression extends DataIdentifier
}
private void validateTransformMeta(DataIdentifier output, boolean conditional)
- throws LanguageException
{
//validate specification
checkDataValueType("transformmeta", TF_FN_PARAM_SPEC, DataType.SCALAR, ValueType.STRING, conditional);
@@ -363,7 +357,6 @@ public class ParameterizedBuiltinFunctionExpression extends DataIdentifier
}
private void validateTransformEncode(DataIdentifier output1, DataIdentifier output2, boolean conditional)
- throws LanguageException
{
//validate data / metadata (recode maps)
checkDataType("transformencode", TF_FN_PARAM_DATA, DataType.FRAME, conditional);
@@ -381,7 +374,7 @@ public class ParameterizedBuiltinFunctionExpression extends DataIdentifier
output2.setDimensions(-1, -1);
}
- private void validateTransformSpec(String pname, boolean conditional) throws LanguageException {
+ private void validateTransformSpec(String pname, boolean conditional) {
Expression data = getVarParam(pname);
if( data instanceof StringIdentifier ) {
try {
@@ -395,7 +388,7 @@ public class ParameterizedBuiltinFunctionExpression extends DataIdentifier
}
}
- private void validateReplace(DataIdentifier output, boolean conditional) throws LanguageException {
+ private void validateReplace(DataIdentifier output, boolean conditional) {
//check existence and correctness of arguments
Expression target = getVarParam("target");
if( target==null ) {
@@ -427,7 +420,7 @@ public class ParameterizedBuiltinFunctionExpression extends DataIdentifier
output.setDimensions(target.getOutput().getDim1(), target.getOutput().getDim2());
}
- private void validateOrder(DataIdentifier output, boolean conditional) throws LanguageException {
+ private void validateOrder(DataIdentifier output, boolean conditional) {
//check existence and correctness of arguments
Expression target = getVarParam("target"); //[MANDATORY] TARGET
if( target==null ) {
@@ -478,7 +471,7 @@ public class ParameterizedBuiltinFunctionExpression extends DataIdentifier
}
- private void validateRemoveEmpty(DataIdentifier output, boolean conditional) throws LanguageException {
+ private void validateRemoveEmpty(DataIdentifier output, boolean conditional) {
//check for invalid parameters
Set<String> valid = UtilFunctions.asSet("target", "margin", "select", "empty.return");
@@ -525,7 +518,6 @@ public class ParameterizedBuiltinFunctionExpression extends DataIdentifier
}
private void validateGroupedAgg(DataIdentifier output, boolean conditional)
- throws LanguageException
{
//check existing target and groups
if (getVarParam(Statement.GAGG_TARGET) == null || getVarParam(Statement.GAGG_GROUPS) == null){
@@ -630,7 +622,7 @@ public class ParameterizedBuiltinFunctionExpression extends DataIdentifier
output.setDimensions(outputDim1, outputDim2);
}
- private void validateDistributionFunctions(DataIdentifier output, boolean conditional) throws LanguageException {
+ private void validateDistributionFunctions(DataIdentifier output, boolean conditional) {
// CDF and INVCDF expects one unnamed parameter, it must be renamed as "quantile"
// (i.e., we must compute P(X <= x) where x is called as "quantile" )
@@ -712,9 +704,7 @@ public class ParameterizedBuiltinFunctionExpression extends DataIdentifier
output.setDimensions(0, 0);
}
- private void validateCastAsString(DataIdentifier output, boolean conditional)
- throws LanguageException
- {
+ private void validateCastAsString(DataIdentifier output, boolean conditional) {
HashMap<String, Expression> varParams = getVarParams();
// replace parameter name for matrix argument
@@ -737,21 +727,18 @@ public class ParameterizedBuiltinFunctionExpression extends DataIdentifier
output.setDimensions(0, 0);
}
- private void checkDataType( String fname, String pname, DataType dt, boolean conditional )
- throws LanguageException
- {
+ private void checkDataType( String fname, String pname, DataType dt, boolean conditional ) {
Expression data = getVarParam(pname);
- if( data==null )
+ if( data==null )
raiseValidateError("Named parameter '" + pname + "' missing. Please specify the input.", conditional, LanguageErrorCodes.INVALID_PARAMETERS);
else if( data.getOutput().getDataType() != dt )
raiseValidateError("Input to "+fname+"::"+pname+" must be of type '"+dt.toString()+"'. It is of type '"+data.getOutput().getDataType()+"'.", conditional, LanguageErrorCodes.INVALID_PARAMETERS);
}
private void checkDataValueType( String fname, String pname, DataType dt, ValueType vt, boolean conditional )
- throws LanguageException
{
Expression data = getVarParam(pname);
- if( data==null )
+ if( data==null )
raiseValidateError("Named parameter '" + pname + "' missing. Please specify the input.", conditional, LanguageErrorCodes.INVALID_PARAMETERS);
else if( data.getOutput().getDataType() != dt || data.getOutput().getValueType() != vt )
raiseValidateError("Input to "+fname+"::"+pname+" must be of type '"+dt.toString()+"', '"+vt.toString()+"'. "
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/parser/ParserWrapper.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/ParserWrapper.java b/src/main/java/org/apache/sysml/parser/ParserWrapper.java
index 71e405b..0f43971 100644
--- a/src/main/java/org/apache/sysml/parser/ParserWrapper.java
+++ b/src/main/java/org/apache/sysml/parser/ParserWrapper.java
@@ -45,8 +45,7 @@ public abstract class ParserWrapper {
protected boolean atLeastOneWarning = false;
protected List<ParseIssue> parseIssues;
- public abstract DMLProgram parse(String fileName, String dmlScript, Map<String, String> argVals)
- throws ParseException;
+ public abstract DMLProgram parse(String fileName, String dmlScript, Map<String, String> argVals);
/**
* Custom wrapper to convert statement into statement blocks. Called by doParse and in DmlSyntacticValidator for for, parfor, while, ...
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/parser/PathStatement.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/PathStatement.java b/src/main/java/org/apache/sysml/parser/PathStatement.java
index 6fe61af..9bb2666 100644
--- a/src/main/java/org/apache/sysml/parser/PathStatement.java
+++ b/src/main/java/org/apache/sysml/parser/PathStatement.java
@@ -35,7 +35,7 @@ public class PathStatement extends Statement
}
@Override
- public Statement rewriteStatement(String prefix) throws LanguageException{
+ public Statement rewriteStatement(String prefix) {
return this;
}
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/parser/PrintStatement.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/PrintStatement.java b/src/main/java/org/apache/sysml/parser/PrintStatement.java
index 4740586..62ebf4a 100644
--- a/src/main/java/org/apache/sysml/parser/PrintStatement.java
+++ b/src/main/java/org/apache/sysml/parser/PrintStatement.java
@@ -42,7 +42,7 @@ public class PrintStatement extends Statement
protected PRINTTYPE _type; // print, printf, or stop
protected List<Expression> expressions;
- private static PRINTTYPE getPrintType(String type, List<Expression> expressions) throws LanguageException {
+ private static PRINTTYPE getPrintType(String type, List<Expression> expressions) {
if(type.equalsIgnoreCase("print")) {
if ((expressions == null) || (expressions.size() == 1)) {
return PRINTTYPE.PRINT;
@@ -60,22 +60,19 @@ public class PrintStatement extends Statement
throw new LanguageException("Unknown statement type: " + type);
}
- public PrintStatement(ParserRuleContext ctx, String type, String filename)
- throws LanguageException {
+ public PrintStatement(ParserRuleContext ctx, String type, String filename) {
this(getPrintType(type, null), null);
setCtxValues(ctx);
setFilename(filename);
}
- public PrintStatement(ParserRuleContext ctx, String type, List<Expression> expressions, String filename)
- throws LanguageException {
+ public PrintStatement(ParserRuleContext ctx, String type, List<Expression> expressions, String filename) {
this(getPrintType(type, expressions), expressions);
setCtxValues(ctx);
setFilename(filename);
}
- public PrintStatement(PRINTTYPE type, List<Expression> expressions)
- throws LanguageException {
+ public PrintStatement(PRINTTYPE type, List<Expression> expressions) {
_type = type;
if (expressions == null) {
this.expressions = new ArrayList<>();
@@ -85,7 +82,7 @@ public class PrintStatement extends Statement
}
@Override
- public Statement rewriteStatement(String prefix) throws LanguageException{
+ public Statement rewriteStatement(String prefix) {
List<Expression> newExpressions = new ArrayList<>();
for (Expression oldExpression : expressions) {
Expression newExpression = oldExpression.rewriteExpression(prefix);
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/parser/RelationalExpression.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/RelationalExpression.java b/src/main/java/org/apache/sysml/parser/RelationalExpression.java
index af6424e..ca074cf 100644
--- a/src/main/java/org/apache/sysml/parser/RelationalExpression.java
+++ b/src/main/java/org/apache/sysml/parser/RelationalExpression.java
@@ -47,7 +47,7 @@ public class RelationalExpression extends Expression
}
@Override
- public Expression rewriteExpression(String prefix) throws LanguageException {
+ public Expression rewriteExpression(String prefix) {
RelationalExpression newExpr = new RelationalExpression(this._opcode, this);
newExpr.setLeft(_left.rewriteExpression(prefix));
newExpr.setRight(_right.rewriteExpression(prefix));
@@ -90,16 +90,15 @@ public class RelationalExpression extends Expression
*/
@Override
public void validateExpression(HashMap<String,DataIdentifier> ids, HashMap<String, ConstIdentifier> constVars, boolean conditional)
- throws LanguageException
- {
+ {
//check for functions calls in expression
if (_left instanceof FunctionCallIdentifier){
raiseValidateError("user-defined function calls not supported in relational expressions",
- false, LanguageException.LanguageErrorCodes.UNSUPPORTED_EXPRESSION);
- }
+ false, LanguageException.LanguageErrorCodes.UNSUPPORTED_EXPRESSION);
+ }
if (_right instanceof FunctionCallIdentifier){
raiseValidateError("user-defined function calls not supported in relational expressions",
- false, LanguageException.LanguageErrorCodes.UNSUPPORTED_EXPRESSION);
+ false, LanguageException.LanguageErrorCodes.UNSUPPORTED_EXPRESSION);
}
// handle <NUMERIC> == <BOOLEAN> --> convert <BOOLEAN> to numeric value
@@ -165,10 +164,8 @@ public class RelationalExpression extends Expression
* @param expr1 expression 1
* @param expr2 expression 2
* @param allowsMV ?
- * @throws LanguageException
*/
private void checkMatchingDimensions(Expression expr1, Expression expr2, boolean allowsMV)
- throws LanguageException
{
if (expr1 != null && expr2 != null) {
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/parser/Statement.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/Statement.java b/src/main/java/org/apache/sysml/parser/Statement.java
index 0b3aac2..4a54df4 100644
--- a/src/main/java/org/apache/sysml/parser/Statement.java
+++ b/src/main/java/org/apache/sysml/parser/Statement.java
@@ -67,10 +67,10 @@ public abstract class Statement implements ParseInfo
public abstract VariableSet variablesRead();
public abstract VariableSet variablesUpdated();
- public abstract void initializeforwardLV(VariableSet activeIn) throws LanguageException;
- public abstract VariableSet initializebackwardLV(VariableSet lo) throws LanguageException;
+ public abstract void initializeforwardLV(VariableSet activeIn);
+ public abstract VariableSet initializebackwardLV(VariableSet lo);
- public abstract Statement rewriteStatement(String prefix) throws LanguageException;
+ public abstract Statement rewriteStatement(String prefix);
// Used only insider python parser to allow for ignoring newline logic
private boolean isEmptyNewLineStatement = false;
@@ -176,11 +176,11 @@ public abstract class Statement implements ParseInfo
}
}
- public void raiseValidateError(String msg, boolean conditional) throws LanguageException {
+ public void raiseValidateError(String msg, boolean conditional) {
raiseValidateError(msg, conditional, null);
}
- public void raiseValidateError(String msg, boolean conditional, String errorCode) throws LanguageException {
+ public void raiseValidateError(String msg, boolean conditional, String errorCode) {
if (conditional) {// warning if conditional
String fullMsg = this.printWarningLocation() + msg;
LOG.warn(fullMsg);
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/parser/StatementBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/StatementBlock.java b/src/main/java/org/apache/sysml/parser/StatementBlock.java
index 04e4a34..1f0e81c 100644
--- a/src/main/java/org/apache/sysml/parser/StatementBlock.java
+++ b/src/main/java/org/apache/sysml/parser/StatementBlock.java
@@ -19,7 +19,6 @@
package org.apache.sysml.parser;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
@@ -30,7 +29,6 @@ import org.apache.commons.logging.LogFactory;
import org.apache.sysml.api.DMLScript;
import org.apache.sysml.conf.ConfigurationManager;
import org.apache.sysml.hops.Hop;
-import org.apache.sysml.hops.HopsException;
import org.apache.sysml.hops.recompile.Recompiler;
import org.apache.sysml.hops.rewrite.RewriteSplitDagDataDependentOperators;
import org.apache.sysml.lops.Lop;
@@ -167,7 +165,7 @@ public class StatementBlock extends LiveVariableAnalysis implements ParseInfo
return ( stmt instanceof PrintStatement && (((PrintStatement)stmt).getType() == PRINTTYPE.STOP || ((PrintStatement)stmt).getType() == PRINTTYPE.ASSERT) );
}
- public boolean isMergeableFunctionCallBlock(DMLProgram dmlProg) throws LanguageException{
+ public boolean isMergeableFunctionCallBlock(DMLProgram dmlProg) {
// if (DMLScript.ENABLE_DEBUG_MODE && !DMLScript.ENABLE_DEBUG_OPTIMIZER)
if (DMLScript.ENABLE_DEBUG_MODE)
@@ -221,7 +219,7 @@ public class StatementBlock extends LiveVariableAnalysis implements ParseInfo
return true;
}
- public boolean isRewritableFunctionCall(Statement stmt, DMLProgram dmlProg) throws LanguageException{
+ public boolean isRewritableFunctionCall(Statement stmt, DMLProgram dmlProg) {
// for regular stmt, check if this is a function call stmt block
if (stmt instanceof AssignmentStatement || stmt instanceof MultiAssignmentStatement){
@@ -303,7 +301,7 @@ public class StatementBlock extends LiveVariableAnalysis implements ParseInfo
return ret;
}
- public static ArrayList<StatementBlock> mergeFunctionCalls(ArrayList<StatementBlock> body, DMLProgram dmlProg) throws LanguageException
+ public static ArrayList<StatementBlock> mergeFunctionCalls(ArrayList<StatementBlock> body, DMLProgram dmlProg)
{
for(int i = 0; i <body.size(); i++){
@@ -573,7 +571,7 @@ public class StatementBlock extends LiveVariableAnalysis implements ParseInfo
return ret;
}
- public ArrayList<Statement> rewriteFunctionCallStatements (DMLProgram dmlProg, ArrayList<Statement> statements) throws LanguageException {
+ public ArrayList<Statement> rewriteFunctionCallStatements (DMLProgram dmlProg, ArrayList<Statement> statements) {
ArrayList<Statement> newStatements = new ArrayList<>();
for (Statement current : statements){
@@ -713,7 +711,6 @@ public class StatementBlock extends LiveVariableAnalysis implements ParseInfo
}
public VariableSet validate(DMLProgram dmlProg, VariableSet ids, HashMap<String, ConstIdentifier> constVars, boolean conditional)
- throws LanguageException, ParseException, IOException
{
_constVarsIn.putAll(constVars);
_statements = rewriteFunctionCallStatements(dmlProg, _statements);
@@ -782,7 +779,6 @@ public class StatementBlock extends LiveVariableAnalysis implements ParseInfo
private void validateAssignmentStatement(Statement current, DMLProgram dmlProg,
VariableSet ids, HashMap<String, ConstIdentifier> currConstVars, boolean conditional)
- throws LanguageException, IOException, ParseException
{
AssignmentStatement as = (AssignmentStatement)current;
DataIdentifier target = as.getTarget();
@@ -899,7 +895,6 @@ public class StatementBlock extends LiveVariableAnalysis implements ParseInfo
private void validateMultiAssignmentStatement(Statement current, DMLProgram dmlProg,
VariableSet ids, HashMap<String, ConstIdentifier> currConstVars, boolean conditional)
- throws LanguageException, IOException
{
MultiAssignmentStatement mas = (MultiAssignmentStatement) current;
ArrayList<DataIdentifier> targetList = mas.getTargetList();
@@ -956,7 +951,6 @@ public class StatementBlock extends LiveVariableAnalysis implements ParseInfo
}
public void setStatementFormatType(OutputStatement s, boolean conditionalValidate)
- throws LanguageException, ParseException
{
//case of specified format parameter
if (s.getExprParam(DataExpression.FORMAT_TYPE)!= null )
@@ -988,7 +982,6 @@ public class StatementBlock extends LiveVariableAnalysis implements ParseInfo
}
public void setStatementFormatType(AssignmentStatement s, boolean conditionalValidate)
- throws LanguageException, ParseException
{
if (!(s.getSource() instanceof DataExpression))
@@ -1034,7 +1027,7 @@ public class StatementBlock extends LiveVariableAnalysis implements ParseInfo
*
*/
@Override
- public VariableSet initializeforwardLV(VariableSet activeIn) throws LanguageException {
+ public VariableSet initializeforwardLV(VariableSet activeIn) {
for (Statement s : _statements){
s.initializeforwardLV(activeIn);
@@ -1081,15 +1074,11 @@ public class StatementBlock extends LiveVariableAnalysis implements ParseInfo
}
@Override
- public VariableSet initializebackwardLV(VariableSet loPassed)
- throws LanguageException
- {
+ public VariableSet initializebackwardLV(VariableSet loPassed) {
int numStatements = _statements.size();
VariableSet lo = new VariableSet(loPassed);
- for (int i = numStatements-1; i>=0; i--){
+ for (int i = numStatements-1; i>=0; i--)
lo = _statements.get(i).initializebackwardLV(lo);
- }
-
return new VariableSet(lo);
}
@@ -1102,8 +1091,7 @@ public class StatementBlock extends LiveVariableAnalysis implements ParseInfo
}
@Override
- public VariableSet analyze(VariableSet loPassed)
- throws LanguageException {
+ public VariableSet analyze(VariableSet loPassed) {
VariableSet candidateLO = new VariableSet();
candidateLO.addVariables(loPassed);
//candidateLO.addVariables(_gen);
@@ -1133,14 +1121,11 @@ public class StatementBlock extends LiveVariableAnalysis implements ParseInfo
///////////////////////////////////////////////////////////////
// validate error handling (consistent for all expressions)
- public void raiseValidateError( String msg, boolean conditional )
- throws LanguageException
- {
+ public void raiseValidateError( String msg, boolean conditional ) {
raiseValidateError(msg, conditional, null);
}
public void raiseValidateError( String msg, boolean conditional, String errorCode )
- throws LanguageException
{
if( conditional ) //warning if conditional
{
@@ -1218,7 +1203,7 @@ public class StatementBlock extends LiveVariableAnalysis implements ParseInfo
// materialized hops recompilation / updateinplace flags
////
- public boolean updateRecompilationFlag() throws HopsException {
+ public boolean updateRecompilationFlag() {
return (_requiresRecompile =
ConfigurationManager.isDynamicRecompilation()
&& Recompiler.requiresRecompilation(getHops()));
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/parser/StringIdentifier.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/StringIdentifier.java b/src/main/java/org/apache/sysml/parser/StringIdentifier.java
index aaaade27..f4aaeed 100644
--- a/src/main/java/org/apache/sysml/parser/StringIdentifier.java
+++ b/src/main/java/org/apache/sysml/parser/StringIdentifier.java
@@ -26,7 +26,7 @@ public class StringIdentifier extends ConstIdentifier
private String _val;
@Override
- public Expression rewriteExpression(String prefix) throws LanguageException {
+ public Expression rewriteExpression(String prefix) {
return this;
}
@@ -69,9 +69,7 @@ public class StringIdentifier extends ConstIdentifier
}
@Override
- public long getLongValue()
- throws LanguageException
- {
+ public long getLongValue() {
throw new LanguageException("Unsupported string-to-long conversion.");
}
}
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/parser/WhileStatement.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/WhileStatement.java b/src/main/java/org/apache/sysml/parser/WhileStatement.java
index d70b1ab..f10dce4 100644
--- a/src/main/java/org/apache/sysml/parser/WhileStatement.java
+++ b/src/main/java/org/apache/sysml/parser/WhileStatement.java
@@ -29,7 +29,7 @@ public class WhileStatement extends Statement
private ArrayList<StatementBlock> _body;
@Override
- public Statement rewriteStatement(String prefix) throws LanguageException{
+ public Statement rewriteStatement(String prefix) {
LOG.error(this.printErrorLocation() + "should not call rewriteStatement for WhileStatement");
throw new LanguageException(this.printErrorLocation() + "should not call rewriteStatement for WhileStatement");
}
@@ -82,14 +82,12 @@ public class WhileStatement extends Statement
}
@Override
- public void initializeforwardLV(VariableSet activeIn) throws LanguageException{
- LOG.error(this.printErrorLocation() + "should never call initializeforwardLV for WhileStatement");
+ public void initializeforwardLV(VariableSet activeIn) {
throw new LanguageException(this.printErrorLocation() + "should never call initializeforwardLV for WhileStatement");
}
@Override
- public VariableSet initializebackwardLV(VariableSet lo) throws LanguageException{
- LOG.error(this.printErrorLocation() + "should never call initializeforwardLV for WhileStatement");
+ public VariableSet initializebackwardLV(VariableSet lo) {
throw new LanguageException(this.printErrorLocation() + "should never call initializeforwardLV for WhileStatement");
}
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/parser/WhileStatementBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/WhileStatementBlock.java b/src/main/java/org/apache/sysml/parser/WhileStatementBlock.java
index d34353a..58f1c9f 100644
--- a/src/main/java/org/apache/sysml/parser/WhileStatementBlock.java
+++ b/src/main/java/org/apache/sysml/parser/WhileStatementBlock.java
@@ -19,13 +19,11 @@
package org.apache.sysml.parser;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import org.apache.sysml.conf.ConfigurationManager;
import org.apache.sysml.hops.Hop;
-import org.apache.sysml.hops.HopsException;
import org.apache.sysml.hops.recompile.Recompiler;
import org.apache.sysml.lops.Lop;
@@ -39,8 +37,7 @@ public class WhileStatementBlock extends StatementBlock
@Override
public VariableSet validate(DMLProgram dmlProg, VariableSet ids, HashMap<String,ConstIdentifier> constVars, boolean conditional)
- throws LanguageException, ParseException, IOException
- {
+ {
if (_statements.size() > 1){
raiseValidateError("WhileStatementBlock should have only 1 statement (while statement)", conditional);
}
@@ -165,7 +162,7 @@ public class WhileStatementBlock extends StatementBlock
}
@Override
- public VariableSet initializeforwardLV(VariableSet activeInPassed) throws LanguageException {
+ public VariableSet initializeforwardLV(VariableSet activeInPassed) {
WhileStatement wstmt = (WhileStatement)_statements.get(0);
if (_statements.size() > 1){
@@ -224,7 +221,7 @@ public class WhileStatementBlock extends StatementBlock
}
@Override
- public VariableSet initializebackwardLV(VariableSet loPassed) throws LanguageException{
+ public VariableSet initializebackwardLV(VariableSet loPassed) {
WhileStatement wstmt = (WhileStatement)_statements.get(0);
@@ -260,7 +257,7 @@ public class WhileStatementBlock extends StatementBlock
}
@Override
- public VariableSet analyze(VariableSet loPassed) throws LanguageException{
+ public VariableSet analyze(VariableSet loPassed) {
VariableSet predVars = new VariableSet();
predVars.addVariables(((WhileStatement)_statements.get(0)).getConditionalPredicate().variablesRead());
predVars.addVariables(((WhileStatement)_statements.get(0)).getConditionalPredicate().variablesUpdated());
@@ -313,7 +310,7 @@ public class WhileStatementBlock extends StatementBlock
// materialized hops recompilation flags
////
- public boolean updatePredicateRecompilationFlag() throws HopsException {
+ public boolean updatePredicateRecompilationFlag() {
return (_requiresPredicateRecompile =
ConfigurationManager.isDynamicRecompilation()
&& Recompiler.requiresRecompilation(getPredicateHops()));
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/parser/dml/DMLParserWrapper.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/dml/DMLParserWrapper.java b/src/main/java/org/apache/sysml/parser/dml/DMLParserWrapper.java
index 8714968..b44d448 100644
--- a/src/main/java/org/apache/sysml/parser/dml/DMLParserWrapper.java
+++ b/src/main/java/org/apache/sysml/parser/dml/DMLParserWrapper.java
@@ -81,10 +81,9 @@ public class DMLParserWrapper extends ParserWrapper
* @param dmlScript script file contents
* @param argVals script arguments
* @return dml program, or null if error
- * @throws ParseException if ParseException occurs
*/
@Override
- public DMLProgram parse(String fileName, String dmlScript, Map<String,String> argVals) throws ParseException {
+ public DMLProgram parse(String fileName, String dmlScript, Map<String,String> argVals) {
DMLProgram prog = doParse(fileName, dmlScript, null, argVals);
return prog;
@@ -97,9 +96,8 @@ public class DMLParserWrapper extends ParserWrapper
* @param sourceNamespace namespace from source statement
* @param argVals script arguments
* @return dml program, or null if at least one error
- * @throws ParseException if ParseException occurs
*/
- public DMLProgram doParse(String fileName, String dmlScript, String sourceNamespace, Map<String,String> argVals) throws ParseException {
+ public DMLProgram doParse(String fileName, String dmlScript, String sourceNamespace, Map<String,String> argVals) {
DMLProgram dmlPgm = null;
ANTLRInputStream in;
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/parser/pydml/PyDMLParserWrapper.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/pydml/PyDMLParserWrapper.java b/src/main/java/org/apache/sysml/parser/pydml/PyDMLParserWrapper.java
index 8a81b46..7d96577 100644
--- a/src/main/java/org/apache/sysml/parser/pydml/PyDMLParserWrapper.java
+++ b/src/main/java/org/apache/sysml/parser/pydml/PyDMLParserWrapper.java
@@ -64,10 +64,9 @@ public class PyDMLParserWrapper extends ParserWrapper
* @param dmlScript script file contents
* @param argVals script arguments
* @return dml program, or null if error
- * @throws ParseException if ParseException occurs
*/
@Override
- public DMLProgram parse(String fileName, String dmlScript, Map<String,String> argVals) throws ParseException {
+ public DMLProgram parse(String fileName, String dmlScript, Map<String,String> argVals) {
DMLProgram prog = doParse(fileName, dmlScript, null, argVals);
return prog;
@@ -80,9 +79,8 @@ public class PyDMLParserWrapper extends ParserWrapper
* @param sourceNamespace namespace from source statement
* @param argVals script arguments
* @return dml program, or null if at least one error
- * @throws ParseException if ParseException occurs
*/
- public DMLProgram doParse(String fileName, String dmlScript, String sourceNamespace, Map<String,String> argVals) throws ParseException {
+ public DMLProgram doParse(String fileName, String dmlScript, String sourceNamespace, Map<String,String> argVals) {
DMLProgram dmlPgm = null;
ANTLRInputStream in;
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/runtime/controlprogram/ParForProgramBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/ParForProgramBlock.java b/src/main/java/org/apache/sysml/runtime/controlprogram/ParForProgramBlock.java
index 7348266..fdc4732 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/ParForProgramBlock.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/ParForProgramBlock.java
@@ -54,7 +54,6 @@ import org.apache.sysml.parser.ParForStatementBlock.ResultVar;
import org.apache.sysml.parser.StatementBlock;
import org.apache.sysml.parser.VariableSet;
import org.apache.sysml.runtime.DMLRuntimeException;
-import org.apache.sysml.runtime.controlprogram.caching.CacheException;
import org.apache.sysml.runtime.controlprogram.caching.MatrixObject;
import org.apache.sysml.runtime.controlprogram.context.ExecutionContext;
import org.apache.sysml.runtime.controlprogram.context.SparkExecutionContext;
@@ -1301,7 +1300,6 @@ public class ParForProgramBlock extends ForProgramBlock
}
private void exportMatricesToHDFS(ExecutionContext ec, String... blacklistNames)
- throws CacheException
{
ParForStatementBlock sb = (ParForStatementBlock)getStatementBlock();
Set<String> blacklist = UtilFunctions.asSet(blacklistNames);
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/runtime/controlprogram/caching/CacheException.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/caching/CacheException.java b/src/main/java/org/apache/sysml/runtime/controlprogram/caching/CacheException.java
deleted file mode 100644
index 64a3925..0000000
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/caching/CacheException.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.sysml.runtime.controlprogram.caching;
-
-import org.apache.sysml.runtime.DMLRuntimeException;
-
-public class CacheException extends DMLRuntimeException
-{
-
-
- private static final long serialVersionUID = 1L;
-
- public CacheException ()
- {
- super ("Cache Exception");
- }
-
- public CacheException (String message)
- {
- super (message);
- }
-
- public CacheException (Exception cause)
- {
- super (cause);
- }
-
- public CacheException (String message, Exception cause)
- {
- super (message, cause);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/runtime/controlprogram/caching/CacheableData.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/caching/CacheableData.java b/src/main/java/org/apache/sysml/runtime/controlprogram/caching/CacheableData.java
index cdc0f03..b3791e1 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/caching/CacheableData.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/caching/CacheableData.java
@@ -308,7 +308,7 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
}
public abstract void refreshMetaData()
- throws CacheException;
+ throws DMLRuntimeException;
public RDDObject getRDDHandle() {
return _rddHandle;
@@ -369,17 +369,16 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
* Out-Status: READ(+1).
*
* @return cacheable data
- * @throws CacheException if CacheException occurs
+ * @throws DMLRuntimeException if CacheException occurs
*/
public synchronized T acquireRead()
- throws CacheException
{
if( LOG.isTraceEnabled() )
LOG.trace("Acquire read "+hashCode());
long t0 = DMLScript.STATISTICS ? System.nanoTime() : 0;
if ( !isAvailableToRead() )
- throw new CacheException ("MatrixObject not available to read.");
+ throw new DMLRuntimeException("MatrixObject not available to read.");
//get object from cache
if( _data == null )
@@ -391,7 +390,7 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
GPUObject gObj = kv.getValue();
if (gObj != null && copiedFromGPU && gObj.isDirty()) {
LOG.error("Inconsistent internal state - A copy of this CacheableData was dirty on more than 1 GPU");
- throw new CacheException("Internal Error : Inconsistent internal state, A copy of this CacheableData was dirty on more than 1 GPU");
+ throw new DMLRuntimeException("Internal Error : Inconsistent internal state, A copy of this CacheableData was dirty on more than 1 GPU");
} else if (gObj != null){
copiedFromGPU = gObj.acquireHostRead(null);
if( _data == null )
@@ -412,7 +411,7 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
{
//check filename
if( _hdfsFileName == null )
- throw new CacheException("Cannot read matrix for empty filename.");
+ throw new DMLRuntimeException("Cannot read matrix for empty filename.");
//read cacheable data from hdfs
_data = readBlobFromHDFS( _hdfsFileName );
@@ -434,7 +433,7 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
setDirty(false);
}
catch (IOException e) {
- throw new CacheException("Reading of " + _hdfsFileName + " ("+hashCode()+") failed.", e);
+ throw new DMLRuntimeException("Reading of " + _hdfsFileName + " ("+hashCode()+") failed.", e);
}
_isAcquireFromEmpty = true;
@@ -446,7 +445,7 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
}
//cache status maintenance
- acquire( false, _data==null );
+ acquire( false, _data==null );
updateStatusPinned(true);
if( DMLScript.STATISTICS ){
@@ -466,17 +465,16 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
* Out-Status: MODIFY.
*
* @return cacheable data
- * @throws CacheException if CacheException occurs
+ * @throws DMLRuntimeException if CacheException occurs
*/
public synchronized T acquireModify()
- throws CacheException
{
if( LOG.isTraceEnabled() )
LOG.trace("Acquire modify "+hashCode());
long t0 = DMLScript.STATISTICS ? System.nanoTime() : 0;
if ( !isAvailableToModify() )
- throw new CacheException("MatrixObject not available to modify.");
+ throw new DMLRuntimeException("MatrixObject not available to modify.");
//get object from cache
if( _data == null )
@@ -487,16 +485,14 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
{
//check filename
if( _hdfsFileName == null )
- throw new CacheException("Cannot read matrix for empty filename.");
+ throw new DMLRuntimeException("Cannot read matrix for empty filename.");
//load data
- try
- {
+ try {
_data = readBlobFromHDFS( _hdfsFileName );
}
- catch (IOException e)
- {
- throw new CacheException("Reading of " + _hdfsFileName + " ("+hashCode()+") failed.", e);
+ catch (IOException e) {
+ throw new DMLRuntimeException("Reading of " + _hdfsFileName + " ("+hashCode()+") failed.", e);
}
}
@@ -514,7 +510,7 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
return _data;
}
- public T acquireModify(T newData) throws DMLRuntimeException {
+ public T acquireModify(T newData) {
return acquireModify(newData, null);
}
@@ -532,14 +528,13 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
* @throws DMLRuntimeException if error occurs
*/
public synchronized T acquireModify(T newData, String opcode)
- throws DMLRuntimeException
{
if( LOG.isTraceEnabled() )
LOG.trace("Acquire modify newdata "+hashCode());
long t0 = DMLScript.STATISTICS ? System.nanoTime() : 0;
if (! isAvailableToModify ())
- throw new CacheException ("CacheableData not available to modify.");
+ throw new DMLRuntimeException("CacheableData not available to modify.");
//clear old data
clearData();
@@ -552,7 +547,7 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
//set references to new data
if (newData == null)
- throw new CacheException("acquireModify with empty cache block.");
+ throw new DMLRuntimeException("acquireModify with empty cache block.");
_data = newData;
updateStatusPinned(true);
@@ -573,7 +568,7 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
return _data;
}
- public void release() throws CacheException {
+ public void release() throws DMLRuntimeException {
release(null);
}
@@ -587,10 +582,9 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
* In-Status: READ, MODIFY;
* Out-Status: READ(-1), EVICTABLE, EMPTY.
*
- * @throws CacheException if CacheException occurs
+ * @throws DMLRuntimeException if CacheException occurs
*/
public synchronized void release(String opcode)
- throws CacheException
{
if( LOG.isTraceEnabled() )
LOG.trace("Release "+hashCode());
@@ -633,14 +627,14 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
}
}
catch (Exception e) {
- throw new CacheException("Eviction to local path " + filePath + " ("+hashCode()+") failed.", e);
+ throw new DMLRuntimeException("Eviction to local path " + filePath + " ("+hashCode()+") failed.", e);
}
_requiresLocalWrite = false;
}
//create cache
createCache();
- _data = null;
+ _data = null;
}
else if( LOG.isTraceEnabled() ){
LOG.trace("Var "+hashCode()+" not subject to caching, state="+getStatusAsString());
@@ -663,7 +657,6 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
* @throws DMLRuntimeException if error occurs
*/
public synchronized void clearData()
- throws DMLRuntimeException
{
if( LOG.isTraceEnabled() )
LOG.trace("Clear data "+hashCode());
@@ -672,7 +665,7 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
if( !isCleanupEnabled() )
return; // do nothing
if( !isAvailableToModify() )
- throw new CacheException ("CacheableData (" + getDebugName() + ") not available to "
+ throw new DMLRuntimeException("CacheableData (" + getDebugName() + ") not available to "
+ "modify. Status = " + getStatusAsString() + ".");
// clear existing WB / FS representation (but prevent unnecessary probes)
@@ -699,7 +692,7 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
setEmpty();
}
- public synchronized void exportData() throws CacheException {
+ public synchronized void exportData() {
exportData( -1 );
}
@@ -710,30 +703,22 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
* Out-Status: EMPTY, EVICTABLE, EVICTED, READ.
*
* @param replication ?
- * @throws CacheException if CacheException occurs
+ * @throws DMLRuntimeException if CacheException occurs
*/
- public synchronized void exportData( int replication )
- throws CacheException
- {
+ public synchronized void exportData( int replication ) {
exportData(_hdfsFileName, null, replication, null);
_hdfsFileExists = true;
}
- public synchronized void exportData(String fName, String outputFormat)
- throws CacheException
- {
+ public synchronized void exportData(String fName, String outputFormat) {
exportData(fName, outputFormat, -1, null);
}
- public synchronized void exportData(String fName, String outputFormat, FileFormatProperties formatProperties)
- throws CacheException
- {
+ public synchronized void exportData(String fName, String outputFormat, FileFormatProperties formatProperties) {
exportData(fName, outputFormat, -1, formatProperties);
}
- public synchronized void exportData (String fName, String outputFormat, int replication, FileFormatProperties formatProperties)
- throws CacheException
- {
+ public synchronized void exportData (String fName, String outputFormat, int replication, FileFormatProperties formatProperties) {
exportData(fName, outputFormat, replication, formatProperties, null);
}
@@ -753,36 +738,33 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
* @param replication ?
* @param formatProperties file format properties
* @param opcode instruction opcode if available
- * @throws CacheException if CacheException occurs
+ * @throws DMLRuntimeException if CacheException occurs
*/
- public synchronized void exportData (String fName, String outputFormat, int replication, FileFormatProperties formatProperties, String opcode)
- throws CacheException
- {
+ public synchronized void exportData (String fName, String outputFormat, int replication, FileFormatProperties formatProperties, String opcode) {
if( LOG.isTraceEnabled() )
LOG.trace("Export data "+hashCode()+" "+fName);
long t0 = DMLScript.STATISTICS ? System.nanoTime() : 0;
//prevent concurrent modifications
if ( !isAvailableToRead() )
- throw new CacheException ("MatrixObject not available to read.");
+ throw new DMLRuntimeException("MatrixObject not available to read.");
LOG.trace("Exporting " + this.getDebugName() + " to " + fName + " in format " + outputFormat);
//TODO remove
- boolean copiedFromGPU = false;
- for (Map.Entry<GPUContext, GPUObject> kv : _gpuObjects.entrySet()) {
- GPUObject gObj = kv.getValue();
- if (gObj != null && copiedFromGPU && gObj.isDirty()) {
- LOG.error("Inconsistent internal state - A copy of this CacheableData was dirty on more than 1 GPU");
- throw new CacheException("Internal Error : Inconsistent internal state, A copy of this CacheableData was dirty on more than 1 GPU");
- } else if (gObj != null){
- copiedFromGPU = gObj.acquireHostRead(null);
- if( _data == null )
- getCache();
- }
- }
+ boolean copiedFromGPU = false;
+ for (Map.Entry<GPUContext, GPUObject> kv : _gpuObjects.entrySet()) {
+ GPUObject gObj = kv.getValue();
+ if (gObj != null && copiedFromGPU && gObj.isDirty()) {
+ throw new DMLRuntimeException("Internal Error : Inconsistent internal state, A copy of this CacheableData was dirty on more than 1 GPU");
+ } else if (gObj != null){
+ copiedFromGPU = gObj.acquireHostRead(null);
+ if( _data == null )
+ getCache();
+ }
+ }
- //check for persistent or transient writes
+ //check for persistent or transient writes
boolean pWrite = !fName.equals(_hdfsFileName);
if( !pWrite )
setHDFSFileExists(true);
@@ -792,14 +774,14 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
new Path(_hdfsFileName), new Path(fName));
//actual export (note: no direct transfer of local copy in order to ensure blocking (and hence, parallelism))
- if( isDirty() || !eqScheme ||
- (pWrite && !isEqualOutputFormat(outputFormat)) )
- {
+ if( isDirty() || !eqScheme ||
+ (pWrite && !isEqualOutputFormat(outputFormat)) )
+ {
// CASE 1: dirty in-mem matrix or pWrite w/ different format (write matrix to fname; load into memory if evicted)
- // a) get the matrix
+ // a) get the matrix
if( isEmpty(true) )
{
- //read data from HDFS if required (never read before), this applies only to pWrite w/ different output formats
+ //read data from HDFS if required (never read before), this applies only to pWrite w/ different output formats
//note: for large rdd outputs, we compile dedicated writespinstructions (no need to handle this here)
try
{
@@ -811,7 +793,7 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
}
catch (IOException e)
{
- throw new CacheException("Reading of " + _hdfsFileName + " ("+hashCode()+") failed.", e);
+ throw new DMLRuntimeException("Reading of " + _hdfsFileName + " ("+hashCode()+") failed.", e);
}
}
//get object from cache
@@ -820,19 +802,16 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
acquire( false, _data==null ); //incl. read matrix if evicted
// b) write the matrix
- try
- {
+ try {
writeMetaData( fName, outputFormat, formatProperties );
writeBlobToHDFS( fName, outputFormat, replication, formatProperties );
if ( !pWrite )
setDirty(false);
}
- catch (Exception e)
- {
- throw new CacheException ("Export to " + fName + " failed.", e);
+ catch (Exception e) {
+ throw new DMLRuntimeException("Export to " + fName + " failed.", e);
}
- finally
- {
+ finally {
release(opcode);
}
}
@@ -850,7 +829,7 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
writeMetaData( fName, outputFormat, formatProperties );
}
catch (Exception e) {
- throw new CacheException ("Export to " + fName + " failed.", e);
+ throw new DMLRuntimeException("Export to " + fName + " failed.", e);
}
}
else if( getRDDHandle()!=null && getRDDHandle().isPending()
@@ -868,7 +847,7 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
getRDDHandle().setPending(false);
}
catch (Exception e) {
- throw new CacheException ("Export to " + fName + " failed.", e);
+ throw new DMLRuntimeException("Export to " + fName + " failed.", e);
}
}
else
@@ -902,11 +881,9 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
* Low-level cache I/O method that physically restores the data blob to
* main memory. Must be defined by a subclass, never called by users.
*
- * @throws CacheException if CacheException occurs
+ * @throws DMLRuntimeException if CacheException occurs
*/
- protected void restoreBlobIntoMemory()
- throws CacheException
- {
+ protected void restoreBlobIntoMemory() {
String cacheFilePathAndName = getCacheFilePathAndName();
long begin = LOG.isTraceEnabled() ? System.currentTimeMillis() : 0;
@@ -915,22 +892,22 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
(_hdfsFileName == null ? "null" : _hdfsFileName) + ", Restore from path: " + cacheFilePathAndName);
if (_data != null)
- throw new CacheException (cacheFilePathAndName + " : Cannot restore on top of existing in-memory data.");
+ throw new DMLRuntimeException(cacheFilePathAndName + " : Cannot restore on top of existing in-memory data.");
try {
_data = readBlobFromCache(cacheFilePathAndName);
}
catch (IOException e) {
- throw new CacheException (cacheFilePathAndName + " : Restore failed.", e);
+ throw new DMLRuntimeException(cacheFilePathAndName + " : Restore failed.", e);
}
//check for success
- if (_data == null)
- throw new CacheException (cacheFilePathAndName + " : Restore failed.");
-
- if( LOG.isTraceEnabled() )
- LOG.trace("Restoring matrix - COMPLETED ... " + (System.currentTimeMillis()-begin) + " msec.");
- }
+ if (_data == null)
+ throw new DMLRuntimeException (cacheFilePathAndName + " : Restore failed.");
+
+ if( LOG.isTraceEnabled() )
+ LOG.trace("Restoring matrix - COMPLETED ... " + (System.currentTimeMillis()-begin) + " msec.");
+ }
protected abstract T readBlobFromCache(String fname)
throws IOException;
@@ -989,22 +966,22 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
throws IOException;
protected abstract void writeBlobToHDFS(String fname, String ofmt, int rep, FileFormatProperties fprop)
- throws IOException, DMLRuntimeException;
+ throws IOException;
protected abstract void writeBlobFromRDDtoHDFS(RDDObject rdd, String fname, String ofmt)
- throws IOException, DMLRuntimeException;
+ throws IOException;
protected void writeMetaData (String filePathAndName, String outputFormat, FileFormatProperties formatProperties)
- throws DMLRuntimeException, IOException
+ throws IOException
{
MetaDataFormat iimd = (MetaDataFormat) _metaData;
if (iimd == null)
throw new DMLRuntimeException("Unexpected error while writing mtd file (" + filePathAndName + ") -- metadata is null.");
- // Write the matrix to HDFS in requested format
+ // Write the matrix to HDFS in requested format
OutputInfo oinfo = (outputFormat != null ? OutputInfo.stringToOutputInfo (outputFormat)
- : InputInfo.getMatchingOutputInfo (iimd.getInputInfo ()));
+ : InputInfo.getMatchingOutputInfo (iimd.getInputInfo ()));
if ( oinfo != OutputInfo.MatrixMarketOutputInfo ) {
// Get the dimension information from the metadata stored within MatrixObject
@@ -1020,7 +997,7 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
//write the actual meta data file
MapReduceTool.writeMetaDataFile (filePathAndName + ".mtd", valueType,
- getSchema(), dataType, mc, oinfo, formatProperties);
+ getSchema(), dataType, mc, oinfo, formatProperties);
}
}
@@ -1079,11 +1056,8 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
* @param isModify : <code>true</code> for the exclusive "modify" lock,
* <code>false</code> for a shared "read" lock.
* @param restore true if restore
- * @throws CacheException if CacheException occurs
*/
- protected void acquire (boolean isModify, boolean restore)
- throws CacheException
- {
+ protected void acquire (boolean isModify, boolean restore) {
switch ( _cacheStatus )
{
case CACHED:
@@ -1098,12 +1072,12 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
break;
case READ:
if (isModify)
- throw new CacheException ("READ-MODIFY not allowed.");
+ throw new DMLRuntimeException("READ-MODIFY not allowed.");
else
addOneRead();
break;
case MODIFY:
- throw new CacheException ("MODIFY-MODIFY not allowed.");
+ throw new DMLRuntimeException("MODIFY-MODIFY not allowed.");
}
if( LOG.isTraceEnabled() )
@@ -1122,17 +1096,15 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
* the lock count.
*
* @param cacheNoWrite ?
- * @throws CacheException if CacheException occurs
*/
protected void release(boolean cacheNoWrite)
- throws CacheException
{
switch ( _cacheStatus )
{
case EMPTY:
case CACHED:
- case CACHED_NOWRITE:
- throw new CacheException("Redundant release.");
+ case CACHED_NOWRITE:
+ throw new DMLRuntimeException("Redundant release.");
case READ:
removeOneRead( isBlobPresent(), cacheNoWrite );
break;
@@ -1141,7 +1113,7 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
setCached();
else
setEmpty();
- break;
+ break;
}
if( LOG.isTraceEnabled() )
@@ -1160,7 +1132,7 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
public String getStatusAsString() {
return _cacheStatus.toString();
}
-
+
public boolean isCached(boolean inclCachedNoWrite) {
if( inclCachedNoWrite )
return (_cacheStatus == CacheStatus.CACHED || _cacheStatus == CacheStatus.CACHED_NOWRITE);
@@ -1371,9 +1343,7 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
_activeFlag = true;
}
- public synchronized boolean moveData(String fName, String outputFormat)
- throws CacheException
- {
+ public synchronized boolean moveData(String fName, String outputFormat) {
boolean ret = false;
try
@@ -1396,11 +1366,10 @@ public abstract class CacheableData<T extends CacheBlock> extends Data
MapReduceTool.renameFileOnHDFS( _hdfsFileName, fName );
writeMetaData( fName, outputFormat, null );
ret = true;
- }
+ }
}
- catch (Exception e)
- {
- throw new CacheException ("Move to " + fName + " failed.", e);
+ catch (Exception e) {
+ throw new DMLRuntimeException("Move to " + fName + " failed.", e);
}
return ret;
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/runtime/controlprogram/caching/FrameObject.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/caching/FrameObject.java b/src/main/java/org/apache/sysml/runtime/controlprogram/caching/FrameObject.java
index 28510cd..a37ac69 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/caching/FrameObject.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/caching/FrameObject.java
@@ -133,10 +133,10 @@ public class FrameObject extends CacheableData<FrameBlock>
@Override
public void refreshMetaData()
- throws CacheException
+ throws DMLRuntimeException
{
if ( _data == null || _metaData ==null ) //refresh only for existing data
- throw new CacheException("Cannot refresh meta data because there is no data or meta data. ");
+ throw new DMLRuntimeException("Cannot refresh meta data because there is no data or meta data. ");
//update matrix characteristics
MatrixCharacteristics mc = _metaData.getMatrixCharacteristics();
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/runtime/controlprogram/caching/MatrixObject.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/caching/MatrixObject.java b/src/main/java/org/apache/sysml/runtime/controlprogram/caching/MatrixObject.java
index 8bf8efd..6aefbb3 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/caching/MatrixObject.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/caching/MatrixObject.java
@@ -140,15 +140,11 @@ public class MatrixObject extends CacheableData<MatrixBlock>
/**
* Make the matrix metadata consistent with the in-memory matrix data
- *
- * @throws CacheException if CacheException occurs
*/
@Override
- public void refreshMetaData()
- throws CacheException
- {
+ public void refreshMetaData() {
if ( _data == null || _metaData ==null ) //refresh only for existing data
- throw new CacheException("Cannot refresh meta data because there is no data or meta data. ");
+ throw new DMLRuntimeException("Cannot refresh meta data because there is no data or meta data. ");
//we need to throw an exception, otherwise input/output format cannot be inferred
MatrixCharacteristics mc = _metaData.getMatrixCharacteristics();
@@ -233,17 +229,17 @@ public class MatrixObject extends CacheableData<MatrixBlock>
*
* @param pred index range
* @return matrix block
- * @throws CacheException if CacheException occurs
+ * @throws DMLRuntimeException if CacheException occurs
*/
public synchronized MatrixBlock readMatrixPartition( IndexRange pred )
- throws CacheException
+ throws DMLRuntimeException
{
if( LOG.isTraceEnabled() )
LOG.trace("Acquire partition "+hashCode()+" "+pred);
long t0 = DMLScript.STATISTICS ? System.nanoTime() : 0;
if ( !_partitioned )
- throw new CacheException ("MatrixObject not available to indexed read.");
+ throw new DMLRuntimeException("MatrixObject not available to indexed read.");
//return static partition of set from outside of the program
if( _partitionInMemory != null )
@@ -302,7 +298,7 @@ public class MatrixObject extends CacheableData<MatrixBlock>
cols = _partitionSize;
break;
default:
- throw new CacheException("Unsupported partition format: "+_partitionFormat);
+ throw new DMLRuntimeException("Unsupported partition format: "+_partitionFormat);
}
@@ -338,9 +334,8 @@ public class MatrixObject extends CacheableData<MatrixBlock>
//NOTE: currently no special treatment of non-existing partitions necessary
// because empty blocks are written anyway
}
- catch(Exception ex)
- {
- throw new CacheException(ex);
+ catch(Exception ex) {
+ throw new DMLRuntimeException(ex);
}
if( DMLScript.STATISTICS ){
@@ -352,10 +347,10 @@ public class MatrixObject extends CacheableData<MatrixBlock>
}
public String getPartitionFileName( IndexRange pred, int brlen, int bclen )
- throws CacheException
+ throws DMLRuntimeException
{
if ( !_partitioned )
- throw new CacheException ("MatrixObject not available to indexed read.");
+ throw new DMLRuntimeException("MatrixObject not available to indexed read.");
StringBuilder sb = new StringBuilder();
sb.append(_hdfsFileName);
@@ -387,7 +382,7 @@ public class MatrixObject extends CacheableData<MatrixBlock>
sb.append((pred.colStart-1)/_partitionSize+1);
break;
default:
- throw new CacheException ("MatrixObject not available to indexed read.");
+ throw new DMLRuntimeException("MatrixObject not available to indexed read.");
}
return sb.toString();
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalFile.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalFile.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalFile.java
index 0768328..b2bd267 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalFile.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalFile.java
@@ -42,7 +42,6 @@ import org.apache.hadoop.mapred.Reporter;
import org.apache.hadoop.mapred.TextInputFormat;
import org.apache.sysml.conf.ConfigurationManager;
import org.apache.sysml.runtime.DMLRuntimeException;
-import org.apache.sysml.runtime.controlprogram.caching.CacheException;
import org.apache.sysml.runtime.controlprogram.caching.MatrixObject;
import org.apache.sysml.runtime.controlprogram.parfor.util.Cell;
import org.apache.sysml.runtime.controlprogram.parfor.util.IDSequence;
@@ -976,7 +975,7 @@ public class ResultMergeLocalFile extends ResultMerge
}
private static void copyAllFiles( String fnameNew, ArrayList<MatrixObject> inMO )
- throws CacheException, IOException
+ throws DMLRuntimeException, IOException
{
JobConf job = new JobConf(ConfigurationManager.getCachedJobConf());
Path path = new Path( fnameNew );
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanChecker.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanChecker.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanChecker.java
index 28368c7..fc42996 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanChecker.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/OptTreePlanChecker.java
@@ -50,7 +50,6 @@ public class OptTreePlanChecker
{
public static void checkProgramCorrectness( ProgramBlock pb, StatementBlock sb, Set<String> fnStack )
- throws HopsException, DMLRuntimeException
{
Program prog = pb.getProgram();
DMLProgram dprog = sb.getDMLProg();
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/ProgramRecompiler.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/ProgramRecompiler.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/ProgramRecompiler.java
index 3bb0c93..71295b4 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/ProgramRecompiler.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/opt/ProgramRecompiler.java
@@ -19,7 +19,6 @@
package org.apache.sysml.runtime.controlprogram.parfor.opt;
-import java.io.IOException;
import java.util.ArrayList;
import org.apache.sysml.conf.ConfigurationManager;
@@ -33,7 +32,6 @@ import org.apache.sysml.hops.codegen.SpoofCompiler.IntegrationType;
import org.apache.sysml.hops.recompile.Recompiler;
import org.apache.sysml.lops.Lop;
import org.apache.sysml.lops.LopProperties;
-import org.apache.sysml.lops.LopsException;
import org.apache.sysml.parser.DMLProgram;
import org.apache.sysml.parser.DMLTranslator;
import org.apache.sysml.parser.ForStatement;
@@ -60,7 +58,6 @@ import org.apache.sysml.runtime.instructions.cp.ScalarObject;
public class ProgramRecompiler
{
public static ArrayList<ProgramBlock> generatePartitialRuntimeProgram(Program rtprog, ArrayList<StatementBlock> sbs)
- throws LopsException, DMLRuntimeException, IOException, HopsException
{
ArrayList<ProgramBlock> ret = new ArrayList<>();
DMLConfig config = ConfigurationManager.getDMLConfig();
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/runtime/instructions/cp/ScalarObjectFactory.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/ScalarObjectFactory.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/ScalarObjectFactory.java
index ffad8ff..ba5fad0 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/ScalarObjectFactory.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/ScalarObjectFactory.java
@@ -19,7 +19,6 @@
package org.apache.sysml.runtime.instructions.cp;
-import org.apache.sysml.hops.HopsException;
import org.apache.sysml.hops.LiteralOp;
import org.apache.sysml.parser.Expression.ValueType;
import org.apache.sysml.runtime.util.UtilFunctions;
@@ -66,7 +65,7 @@ public abstract class ScalarObjectFactory
}
}
- public static ScalarObject createScalarObject(ValueType vt, LiteralOp lit) throws HopsException {
+ public static ScalarObject createScalarObject(ValueType vt, LiteralOp lit) {
switch( vt ) {
case DOUBLE: return new DoubleObject(lit.getDoubleValue());
case INT: return new IntObject(lit.getLongValue());
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/runtime/instructions/cpfile/ParameterizedBuiltinCPFileInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cpfile/ParameterizedBuiltinCPFileInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cpfile/ParameterizedBuiltinCPFileInstruction.java
index 14eadeb..f656216 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cpfile/ParameterizedBuiltinCPFileInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cpfile/ParameterizedBuiltinCPFileInstruction.java
@@ -43,7 +43,6 @@ import org.apache.hadoop.mapred.Reporter;
import org.apache.hadoop.mapred.TextInputFormat;
import org.apache.sysml.conf.ConfigurationManager;
import org.apache.sysml.runtime.DMLRuntimeException;
-import org.apache.sysml.runtime.controlprogram.caching.CacheException;
import org.apache.sysml.runtime.controlprogram.caching.MatrixObject;
import org.apache.sysml.runtime.controlprogram.context.ExecutionContext;
import org.apache.sysml.runtime.controlprogram.parfor.util.Cell;
@@ -224,13 +223,8 @@ public class ParameterizedBuiltinCPFileInstruction extends ParameterizedBuiltinC
if( rows==0 || cols ==0 ){
rows = Math.max(rows, 1);
cols = Math.max(cols, 1);
- try {
- moNew.acquireModify(new MatrixBlock((int)rows, (int) cols, true));
- moNew.release();
- }
- catch (CacheException e) {
- throw new DMLRuntimeException(e);
- }
+ moNew.acquireModify(new MatrixBlock((int)rows, (int) cols, true));
+ moNew.release();
}
//create deep copy of metadata obj