Missing many files in last commit

In last commit, a lot of files has been missed
This commit is contained in:
morningman
2018-10-31 16:19:21 +08:00
parent 5d3fc80067
commit 051aced48d
596 changed files with 16703 additions and 18103 deletions

View File

@ -21,7 +21,7 @@
package com.baidu.palo.analysis;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.mysql.privilege.MockedAuth;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.qe.ConnectContext;
@ -57,7 +57,7 @@ public class AlterClusterStmtTest {
}
@Test
public void testAnalyzeNormal() throws InternalException, AnalysisException {
public void testAnalyzeNormal() throws UserException, AnalysisException {
final Map<String, String> properties = new HashMap();
properties.put("instance_num", "2");
final AlterClusterStmt stmt = new AlterClusterStmt("testCluster", properties);
@ -68,14 +68,14 @@ public class AlterClusterStmtTest {
}
@Test(expected = AnalysisException.class)
public void testNoPropertiesFail() throws InternalException, AnalysisException {
public void testNoPropertiesFail() throws UserException, AnalysisException {
final AlterClusterStmt stmt = new AlterClusterStmt("testCluster", null);
stmt.analyze(analyzer);
Assert.fail("no exception");
}
@Test(expected = AnalysisException.class)
public void testParamNumberFormatError() throws InternalException, AnalysisException {
public void testParamNumberFormatError() throws UserException, AnalysisException {
final Map<String, String> properties = new HashMap();
properties.put("instance_num", "0xfffffff");
final AlterClusterStmt stmt = new AlterClusterStmt("testCluster", properties);

View File

@ -21,7 +21,7 @@
package com.baidu.palo.analysis;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.mysql.privilege.PrivPredicate;
import com.baidu.palo.qe.ConnectContext;
@ -67,7 +67,7 @@ public class AlterTableStmtTest {
}
@Test
public void testNormal() throws AnalysisException, InternalException {
public void testNormal() throws AnalysisException, UserException {
List<AlterClause> ops = Lists.newArrayList();
ops.add(new DropColumnClause("col1", "", null));
ops.add(new DropColumnClause("col2", "", null));
@ -79,16 +79,8 @@ public class AlterTableStmtTest {
Assert.assertEquals(2, stmt.getOps().size());
}
@Test
public void testNoPriv() throws AnalysisException, InternalException {
List<AlterClause> ops = Lists.newArrayList();
ops.add(new DropColumnClause("col1", "", null));
AlterTableStmt stmt = new AlterTableStmt(new TableName("testDb", "testTbl"), ops);
stmt.analyze(AccessTestUtil.fetchBlockAnalyzer());
}
@Test(expected = AnalysisException.class)
public void testNoTable() throws AnalysisException, InternalException {
public void testNoTable() throws AnalysisException, UserException {
List<AlterClause> ops = Lists.newArrayList();
ops.add(new DropColumnClause("col1", "", null));
AlterTableStmt stmt = new AlterTableStmt(null, ops);
@ -98,7 +90,7 @@ public class AlterTableStmtTest {
}
@Test(expected = AnalysisException.class)
public void testNoClause() throws AnalysisException, InternalException {
public void testNoClause() throws AnalysisException, UserException {
List<AlterClause> ops = Lists.newArrayList();
AlterTableStmt stmt = new AlterTableStmt(new TableName("testDb", "testTbl"), ops);
stmt.analyze(analyzer);

View File

@ -72,12 +72,6 @@ public class BackendStmtTest {
stmt.analyze(analyzer);
}
@Test(expected = AnalysisException.class)
public void initBackendsTest2() throws Exception {
BackendClause stmt = createStmt(2);
stmt.analyze(analyzer);
}
@Test(expected = AnalysisException.class)
public void initBackendsTest3() throws Exception {
BackendClause stmt = createStmt(3);

View File

@ -20,10 +20,11 @@
package com.baidu.palo.analysis;
import com.baidu.palo.analysis.ShowAlterStmt.AlterType;
import com.baidu.palo.catalog.Catalog;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.qe.ConnectContext;
@ -76,7 +77,7 @@ public class CancelAlterStmtTest {
}
@Test
public void testNormal() throws InternalException, AnalysisException {
public void testNormal() throws UserException, AnalysisException {
// cancel alter column
CancelAlterTableStmt stmt = new CancelAlterTableStmt(AlterType.COLUMN, new TableName(null, "testTbl"));
stmt.analyze(analyzer);

View File

@ -21,7 +21,7 @@
package com.baidu.palo.analysis;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.mysql.privilege.MockedAuth;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.qe.ConnectContext;
@ -34,7 +34,6 @@ import java.util.HashMap;
import java.util.Map;
import mockit.Mocked;
import mockit.internal.startup.Startup;
public class CreateClusterStmtTest {
@ -46,7 +45,7 @@ public class CreateClusterStmtTest {
private ConnectContext ctx;
static {
Startup.initializeIfPossible();
// Startup.initializeIfPossible();
}
@Before()
@ -57,7 +56,7 @@ public class CreateClusterStmtTest {
}
@Test
public void testAnalyzeNormal() throws InternalException, AnalysisException {
public void testAnalyzeNormal() throws UserException, AnalysisException {
final Map<String, String> properties = new HashMap();
properties.put("instance_num", "2");
final CreateClusterStmt stmt = new CreateClusterStmt("testCluster", properties, "password");
@ -69,7 +68,7 @@ public class CreateClusterStmtTest {
}
@Test(expected = AnalysisException.class)
public void testAnnlyzeWithException() throws InternalException, AnalysisException {
public void testAnnlyzeWithException() throws UserException, AnalysisException {
final CreateClusterStmt stmt = new CreateClusterStmt("testCluster", null, "password");
stmt.analyze(analyzer);
Assert.fail("no exception");

View File

@ -21,7 +21,7 @@
package com.baidu.palo.analysis;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.mysql.privilege.MockedAuth;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.qe.ConnectContext;
@ -53,7 +53,7 @@ public class CreateDbStmtTest {
}
@Test
public void testAnalyzeNormal() throws InternalException, AnalysisException {
public void testAnalyzeNormal() throws UserException, AnalysisException {
CreateDbStmt dbStmt = new CreateDbStmt(false, "test");
dbStmt.analyze(analyzer);
Assert.assertEquals("testCluster:test", dbStmt.getFullDbName());
@ -61,7 +61,7 @@ public class CreateDbStmtTest {
}
@Test(expected = AnalysisException.class)
public void testAnnlyzeWithException() throws InternalException, AnalysisException {
public void testAnnlyzeWithException() throws UserException, AnalysisException {
CreateDbStmt stmt = new CreateDbStmt(false, "");
stmt.analyze(analyzer);
Assert.fail("no exception");

View File

@ -26,7 +26,7 @@ import com.baidu.palo.catalog.ColumnType;
import com.baidu.palo.catalog.KeysType;
import com.baidu.palo.catalog.PrimitiveType;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.mysql.privilege.MockedAuth;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.qe.ConnectContext;
@ -98,7 +98,7 @@ public class CreateTableStmtTest {
}
@Test
public void testNormal() throws InternalException, AnalysisException {
public void testNormal() throws UserException, AnalysisException {
CreateTableStmt stmt = new CreateTableStmt(false, false, tblName, cols, "olap",
new KeysDesc(KeysType.AGG_KEYS, colsName), null,
new HashDistributionDesc(10, Lists.newArrayList("col1")), null, null);
@ -109,7 +109,7 @@ public class CreateTableStmtTest {
}
@Test
public void testDefaultDbNormal() throws InternalException, AnalysisException {
public void testDefaultDbNormal() throws UserException, AnalysisException {
CreateTableStmt stmt = new CreateTableStmt(false, false, tblNameNoDb, cols, "olap",
new KeysDesc(KeysType.AGG_KEYS, colsName), null,
new HashDistributionDesc(10, Lists.newArrayList("col1")), null, null);
@ -121,7 +121,7 @@ public class CreateTableStmtTest {
}
@Test(expected = AnalysisException.class)
public void testNoDb() throws InternalException, AnalysisException {
public void testNoDb() throws UserException, AnalysisException {
// make defalut db return empty;
analyzer = EasyMock.createMock(Analyzer.class);
EasyMock.expect(analyzer.getDefaultDb()).andReturn("").anyTimes();
@ -134,7 +134,7 @@ public class CreateTableStmtTest {
}
@Test(expected = AnalysisException.class)
public void testEmptyCol() throws InternalException, AnalysisException {
public void testEmptyCol() throws UserException, AnalysisException {
// make defalut db return empty;
List<Column> emptyCols = Lists.newArrayList();
CreateTableStmt stmt = new CreateTableStmt(false, false, tblNameNoDb, emptyCols, "olap",
@ -144,12 +144,11 @@ public class CreateTableStmtTest {
}
@Test(expected = AnalysisException.class)
public void testDupCol() throws InternalException, AnalysisException {
public void testDupCol() throws UserException, AnalysisException {
// make defalut db return empty;
CreateTableStmt stmt = new CreateTableStmt(false, false, tblNameNoDb, invalidCols, "olap",
new KeysDesc(KeysType.AGG_KEYS, invalidColsName), null,
new RandomDistributionDesc(10), null, null);
stmt.analyze(analyzer);
}
}

View File

@ -21,7 +21,7 @@
package com.baidu.palo.analysis;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.mysql.privilege.MockedAuth;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.qe.ConnectContext;
@ -53,11 +53,11 @@ public class CreateUserStmtTest {
}
@Test
public void testToString() throws InternalException, AnalysisException {
public void testToString() throws UserException, AnalysisException {
CreateUserStmt stmt = new CreateUserStmt(new UserDesc(new UserIdentity("user", "%"), "passwd", true));
stmt.analyze(analyzer);
Assert.assertEquals("CREATE USER 'testCluster:user'@'%' IDENTIFIED BY 'passwd'", stmt.toString());
Assert.assertEquals("CREATE USER 'testCluster:user'@'%' IDENTIFIED BY '*XXX'", stmt.toString());
Assert.assertEquals(new String(stmt.getPassword()), "*59C70DA2F3E3A5BDF46B68F5C8B8F25762BCCEF0");
stmt = new CreateUserStmt(
@ -65,8 +65,7 @@ public class CreateUserStmtTest {
stmt.analyze(analyzer);
Assert.assertEquals("testCluster:user", stmt.getUserIdent().getQualifiedUser());
Assert.assertEquals(
"CREATE USER 'testCluster:user'@'%' IDENTIFIED BY PASSWORD '*59c70da2f3e3a5bdf46b68f5c8b8f25762bccef0'",
Assert.assertEquals("CREATE USER 'testCluster:user'@'%' IDENTIFIED BY PASSWORD '*59c70da2f3e3a5bdf46b68f5c8b8f25762bccef0'",
stmt.toString());
Assert.assertEquals(new String(stmt.getPassword()), "*59C70DA2F3E3A5BDF46B68F5C8B8F25762BCCEF0");
@ -78,14 +77,14 @@ public class CreateUserStmtTest {
}
@Test(expected = AnalysisException.class)
public void testEmptyUser() throws InternalException, AnalysisException {
public void testEmptyUser() throws UserException, AnalysisException {
CreateUserStmt stmt = new CreateUserStmt(new UserDesc(new UserIdentity("", "%"), "passwd", true));
stmt.analyze(analyzer);
Assert.fail("No exception throws.");
}
@Test(expected = AnalysisException.class)
public void testBadPass() throws InternalException, AnalysisException {
public void testBadPass() throws UserException, AnalysisException {
CreateUserStmt stmt = new CreateUserStmt(new UserDesc(new UserIdentity("", "%"), "passwd", false));
stmt.analyze(analyzer);
Assert.fail("No exception throws.");

View File

@ -20,9 +20,9 @@
package com.baidu.palo.analysis;
import com.baidu.palo.analysis.BinaryPredicate.Operator;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.mysql.privilege.MockedAuth;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.qe.ConnectContext;
@ -76,7 +76,7 @@ public class DeleteStmtTest {
DeleteStmt deleteStmt = new DeleteStmt(new TableName("testDb", "testTbl"), "partition", likePredicate, null);
try {
deleteStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e) {
} catch (UserException e) {
Assert.assertTrue(e.getMessage().contains("should be compound or binary predicate"));
}
@ -91,7 +91,7 @@ public class DeleteStmtTest {
try {
deleteStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e) {
} catch (UserException e) {
Assert.assertTrue(e.getMessage().contains("should be AND"));
}
@ -103,7 +103,7 @@ public class DeleteStmtTest {
deleteStmt = new DeleteStmt(new TableName("testDb", "testTbl"), "partition", compoundPredicate, null);
try {
deleteStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e) {
} catch (UserException e) {
Assert.assertTrue(e.getMessage().contains("should be compound or binary predicate"));
}
@ -117,7 +117,7 @@ public class DeleteStmtTest {
deleteStmt = new DeleteStmt(new TableName("testDb", "testTbl"), "partition", compoundPredicate, null);
try {
deleteStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e) {
} catch (UserException e) {
Assert.assertTrue(e.getMessage().contains("Right expr should be value"));
}
@ -131,7 +131,7 @@ public class DeleteStmtTest {
deleteStmt = new DeleteStmt(new TableName("testDb", "testTbl"), "partition", compoundPredicate, null);
try {
deleteStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e) {
} catch (UserException e) {
Assert.assertTrue(e.getMessage().contains("Left expr should be column name"));
}
@ -145,7 +145,7 @@ public class DeleteStmtTest {
deleteStmt = new DeleteStmt(new TableName("testDb", "testTbl"), null, compoundPredicate, null);
try {
deleteStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e) {
} catch (UserException e) {
Assert.assertTrue(e.getMessage().contains("Partition is not set"));
}
@ -163,7 +163,7 @@ public class DeleteStmtTest {
deleteStmt = new DeleteStmt(new TableName("testDb", "testTbl"), "partition", compoundPredicate, null);
try {
deleteStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e) {
} catch (UserException e) {
Assert.fail();
}
}

View File

@ -22,7 +22,7 @@ package com.baidu.palo.analysis;
import com.baidu.palo.catalog.Catalog;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.qe.ConnectContext;
import org.easymock.EasyMock;
@ -64,7 +64,7 @@ public class DescribeStmtTest {
}
@Test
public void testNormal() throws AnalysisException, InternalException {
public void testNormal() throws AnalysisException, UserException {
DescribeStmt stmt = new DescribeStmt(new TableName("", "testTbl"), false);
stmt.analyze(analyzer);
Assert.assertEquals("DESCRIBE `testCluster:testDb.testTbl`", stmt.toString());
@ -74,7 +74,7 @@ public class DescribeStmtTest {
}
@Test
public void testAllNormal() throws AnalysisException, InternalException {
public void testAllNormal() throws AnalysisException, UserException {
DescribeStmt stmt = new DescribeStmt(new TableName("", "testTbl"), true);
stmt.analyze(analyzer);
Assert.assertEquals("DESCRIBE `testCluster:testDb.testTbl` ALL", stmt.toString());

View File

@ -21,7 +21,7 @@
package com.baidu.palo.analysis;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.mysql.privilege.PrivPredicate;
import com.baidu.palo.qe.ConnectContext;
@ -64,7 +64,7 @@ public class DropClusterStmtTest {
}
@Test
public void testNormal() throws InternalException, AnalysisException {
public void testNormal() throws UserException, AnalysisException {
final DropClusterStmt stmt = new DropClusterStmt(true, "testCluster");
stmt.analyze(analyzer);
@ -73,7 +73,7 @@ public class DropClusterStmtTest {
}
@Test(expected = AnalysisException.class)
public void testFailed() throws InternalException, AnalysisException {
public void testFailed() throws UserException, AnalysisException {
DropClusterStmt stmt = new DropClusterStmt(false, "");
stmt.analyze(analyzer);

View File

@ -21,7 +21,7 @@
package com.baidu.palo.analysis;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.mysql.privilege.MockedAuth;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.qe.ConnectContext;
@ -53,7 +53,7 @@ public class DropDbStmtTest {
}
@Test
public void testNormal() throws InternalException, AnalysisException {
public void testNormal() throws UserException, AnalysisException {
DropDbStmt stmt = new DropDbStmt(false, "test");
stmt.analyze(analyzer);
@ -62,7 +62,7 @@ public class DropDbStmtTest {
}
@Test(expected = AnalysisException.class)
public void testFailed() throws InternalException, AnalysisException {
public void testFailed() throws UserException, AnalysisException {
DropDbStmt stmt = new DropDbStmt(false, "");
stmt.analyze(analyzer);
@ -70,7 +70,7 @@ public class DropDbStmtTest {
}
@Test(expected = AnalysisException.class)
public void testNoPriv() throws InternalException, AnalysisException {
public void testNoPriv() throws UserException, AnalysisException {
DropDbStmt stmt = new DropDbStmt(false, "");
stmt.analyze(AccessTestUtil.fetchBlockAnalyzer());

View File

@ -21,7 +21,7 @@
package com.baidu.palo.analysis;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.mysql.privilege.MockedAuth;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.qe.ConnectContext;
@ -65,7 +65,7 @@ public class DropTableStmtTest {
}
@Test
public void testNormal() throws InternalException, AnalysisException {
public void testNormal() throws UserException, AnalysisException {
DropTableStmt stmt = new DropTableStmt(false, tbl);
stmt.analyze(analyzer);
Assert.assertEquals("testCluster:db1", stmt.getDbName());
@ -74,7 +74,7 @@ public class DropTableStmtTest {
}
@Test
public void testDefaultNormal() throws InternalException, AnalysisException {
public void testDefaultNormal() throws UserException, AnalysisException {
DropTableStmt stmt = new DropTableStmt(false, noDbTbl);
stmt.analyze(analyzer);
Assert.assertEquals("testCluster:testDb", stmt.getDbName());
@ -83,14 +83,14 @@ public class DropTableStmtTest {
}
@Test(expected = AnalysisException.class)
public void testNoDbFail() throws InternalException, AnalysisException {
public void testNoDbFail() throws UserException, AnalysisException {
DropTableStmt stmt = new DropTableStmt(false, noDbTbl);
stmt.analyze(noDbAnalyzer);
Assert.fail("No Exception throws.");
}
@Test(expected = AnalysisException.class)
public void testNoTableFail() throws InternalException, AnalysisException {
public void testNoTableFail() throws UserException, AnalysisException {
DropTableStmt stmt = new DropTableStmt(false, new TableName("db1", ""));
stmt.analyze(noDbAnalyzer);
Assert.fail("No Exception throws.");

View File

@ -21,7 +21,7 @@
package com.baidu.palo.analysis;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.mysql.privilege.MockedAuth;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.qe.ConnectContext;
@ -53,7 +53,7 @@ public class DropUserStmtTest {
}
@Test
public void testNormal() throws InternalException, AnalysisException {
public void testNormal() throws UserException, AnalysisException {
DropUserStmt stmt = new DropUserStmt(new UserIdentity("user", "%"));
stmt.analyze(analyzer);
Assert.assertEquals("DROP USER 'testCluster:user'@'%'", stmt.toString());
@ -61,7 +61,7 @@ public class DropUserStmtTest {
}
@Test(expected = AnalysisException.class)
public void testNoUser() throws InternalException, AnalysisException {
public void testNoUser() throws UserException, AnalysisException {
DropUserStmt stmt = new DropUserStmt(new UserIdentity("", "%"));
stmt.analyze(analyzer);
Assert.fail("No Exception throws.");

View File

@ -23,7 +23,7 @@ package com.baidu.palo.analysis;
import com.baidu.palo.catalog.AccessPrivilege;
import com.baidu.palo.catalog.Catalog;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.qe.ConnectContext;
@ -79,7 +79,7 @@ public class GrantStmtTest {
}
@Test
public void testNormal() throws AnalysisException, InternalException {
public void testNormal() throws AnalysisException, UserException {
GrantStmt stmt;
List<AccessPrivilege> privileges = Lists.newArrayList(AccessPrivilege.ALL);
@ -94,7 +94,7 @@ public class GrantStmtTest {
}
@Test(expected = AnalysisException.class)
public void testUserFail() throws AnalysisException, InternalException {
public void testUserFail() throws AnalysisException, UserException {
GrantStmt stmt;
List<AccessPrivilege> privileges = Lists.newArrayList(AccessPrivilege.ALL);

View File

@ -21,7 +21,7 @@
package com.baidu.palo.analysis;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.mysql.privilege.MockedAuth;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.qe.ConnectContext;
@ -54,7 +54,7 @@ public class LinkDbStmtTest {
}
@Test
public void testNormal() throws InternalException, AnalysisException {
public void testNormal() throws UserException, AnalysisException {
final ClusterName cn1 = new ClusterName("testCluster1", "testDb1");
final ClusterName cn2 = new ClusterName("testCluster2", "testDb2");
final LinkDbStmt stmt = new LinkDbStmt(cn1, cn2);
@ -65,7 +65,7 @@ public class LinkDbStmtTest {
}
@Test(expected = AnalysisException.class)
public void testParamError() throws InternalException, AnalysisException {
public void testParamError() throws UserException, AnalysisException {
final ClusterName cn1 = new ClusterName("testCluster1", "");
final ClusterName cn2 = new ClusterName("testCluster2", "testDb2");
final LinkDbStmt stmt = new LinkDbStmt(cn1, cn2);

View File

@ -21,7 +21,7 @@
package com.baidu.palo.analysis;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.qe.ConnectContext;
@ -72,7 +72,7 @@ public class LoadStmtTest {
}
@Test
public void testNormal() throws InternalException, AnalysisException {
public void testNormal() throws UserException, AnalysisException {
desc.analyze(EasyMock.anyString());
EasyMock.expectLastCall().anyTimes();
EasyMock.replay(desc);
@ -88,7 +88,7 @@ public class LoadStmtTest {
}
@Test(expected = AnalysisException.class)
public void testNoData() throws InternalException, AnalysisException {
public void testNoData() throws UserException, AnalysisException {
desc.analyze(EasyMock.anyString());
EasyMock.expectLastCall().anyTimes();
EasyMock.replay(desc);

View File

@ -21,7 +21,7 @@
package com.baidu.palo.analysis;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.mysql.privilege.MockedAuth;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.qe.ConnectContext;
@ -54,7 +54,7 @@ public class MigrateDbStmtTest {
}
@Test
public void testNormal() throws InternalException, AnalysisException {
public void testNormal() throws UserException, AnalysisException {
final ClusterName cn1 = new ClusterName("testCluster1", "testDb1");
final ClusterName cn2 = new ClusterName("testCluster2", "testDb2");
final MigrateDbStmt stmt = new MigrateDbStmt(cn1, cn2);
@ -65,7 +65,7 @@ public class MigrateDbStmtTest {
}
@Test(expected = AnalysisException.class)
public void testParamError() throws InternalException, AnalysisException {
public void testParamError() throws UserException, AnalysisException {
final ClusterName cn1 = new ClusterName("testCluster1", "");
final ClusterName cn2 = new ClusterName("testCluster2", "testDb2");
final MigrateDbStmt stmt = new MigrateDbStmt(cn1, cn2);

View File

@ -21,7 +21,7 @@
package com.baidu.palo.analysis;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.mysql.privilege.MockedAuth;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.qe.ConnectContext;
@ -53,7 +53,7 @@ public class SetPassVarTest {
}
@Test
public void testNormal() throws InternalException, AnalysisException {
public void testNormal() throws UserException, AnalysisException {
SetPassVar stmt;
// mode: SET PASSWORD FOR 'testUser' = 'testPass';
@ -61,23 +61,23 @@ public class SetPassVarTest {
stmt.analyze(analyzer);
Assert.assertEquals("testCluster:testUser", stmt.getUserIdent().getQualifiedUser());
Assert.assertEquals("*88EEBA7D913688E7278E2AD071FDB5E76D76D34B", new String(stmt.getPassword()));
Assert.assertEquals("SET PASSWORD FOR 'testCluster:testUser'@'%' = '*88EEBA7D913688E7278E2AD071FDB5E76D76D34B'",
Assert.assertEquals("SET PASSWORD FOR 'testCluster:testUser'@'%' = '*XXX'",
stmt.toString());
// empty password
stmt = new SetPassVar(new UserIdentity("testUser", "%"), null);
stmt.analyze(analyzer);
Assert.assertEquals("SET PASSWORD FOR 'testCluster:testUser'@'%' = ''", stmt.toString());
Assert.assertEquals("SET PASSWORD FOR 'testCluster:testUser'@'%' = '*XXX'", stmt.toString());
// empty user
// empty password
stmt = new SetPassVar(null, null);
stmt.analyze(analyzer);
Assert.assertEquals("SET PASSWORD FOR 'testCluster:testUser'@'192.168.1.1' = ''", stmt.toString());
Assert.assertEquals("SET PASSWORD FOR 'testCluster:testUser'@'192.168.1.1' = '*XXX'", stmt.toString());
}
@Test(expected = AnalysisException.class)
public void testBadPassword() throws InternalException, AnalysisException {
public void testBadPassword() throws UserException, AnalysisException {
SetPassVar stmt;
// mode: SET PASSWORD FOR 'testUser' = 'testPass';
stmt = new SetPassVar(new UserIdentity("testUser", "%"), "*88EEBAHD913688E7278E2AD071FDB5E76D76D34B");

View File

@ -21,7 +21,7 @@
package com.baidu.palo.analysis;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.mysql.privilege.MockedAuth;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.qe.ConnectContext;
@ -57,7 +57,7 @@ public class SetStmtTest {
}
@Test
public void testNormal() throws InternalException, AnalysisException {
public void testNormal() throws UserException, AnalysisException {
List<SetVar> vars = Lists.newArrayList(new SetVar("times", new IntLiteral(100L)),
new SetVar(SetType.GLOBAL, "names", new StringLiteral("utf-8")));
SetStmt stmt = new SetStmt(vars);
@ -69,7 +69,7 @@ public class SetStmtTest {
}
@Test(expected = AnalysisException.class)
public void testNoVar() throws InternalException, AnalysisException {
public void testNoVar() throws UserException, AnalysisException {
SetStmt stmt = new SetStmt(Lists.<SetVar>newArrayList());
stmt.analyze(analyzer);
@ -77,7 +77,7 @@ public class SetStmtTest {
}
@Test(expected = AnalysisException.class)
public void testNullVar() throws InternalException, AnalysisException {
public void testNullVar() throws UserException, AnalysisException {
SetStmt stmt = new SetStmt(null);
stmt.analyze(analyzer);

View File

@ -21,7 +21,7 @@
package com.baidu.palo.analysis;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.mysql.privilege.MockedAuth;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.qe.ConnectContext;
@ -57,9 +57,9 @@ public class SetUserPropertyStmtTest {
}
@Test
public void testNormal() throws InternalException, AnalysisException {
public void testNormal() throws UserException, AnalysisException {
List<SetVar> propertyVarList = Lists.newArrayList();
propertyVarList.add(new SetUserPropertyVar("load_cluster.palo-dpp", null));
propertyVarList.add(new SetUserPropertyVar("load_cluster.palo-dpp", ""));
propertyVarList.add(new SetUserPropertyVar("quota.normal", "100"));
SetUserPropertyStmt stmt = new SetUserPropertyStmt("testUser", propertyVarList);
@ -68,7 +68,7 @@ public class SetUserPropertyStmtTest {
}
@Test(expected = AnalysisException.class)
public void testNoProperty() throws InternalException, AnalysisException {
public void testNoProperty() throws UserException, AnalysisException {
SetUserPropertyStmt stmt = new SetUserPropertyStmt("testUser", null);
stmt.analyze(analyzer);
Assert.fail("No exception throws");

View File

@ -21,7 +21,7 @@
package com.baidu.palo.analysis;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import org.junit.Assert;
import org.junit.Before;
@ -36,20 +36,20 @@ public class SetUserPropertyVarTest {
}
@Test
public void testNormal() throws AnalysisException, InternalException {
public void testNormal() throws AnalysisException, UserException {
SetUserPropertyVar var = new SetUserPropertyVar("quota.normal", "1000");
var.analyze(analyzer, true);
Assert.assertEquals("quota.normal", var.getPropertyKey());
Assert.assertEquals("1000", var.getPropertyValue());
Assert.assertEquals("'quota.normal' = '1000'", var.toString());
var = new SetUserPropertyVar("load_cluster.palo-dpp", null);
var = new SetUserPropertyVar("load_cluster.palo-dpp", "");
var.analyze(analyzer, true);
Assert.assertEquals("'load_cluster.palo-dpp' = NULL", var.toString());
Assert.assertEquals("'load_cluster.palo-dpp' = ''", var.toString());
}
@Test(expected = AnalysisException.class)
public void testUnknownProperty() throws InternalException, AnalysisException {
public void testUnknownProperty() throws UserException, AnalysisException {
SetUserPropertyVar var = new SetUserPropertyVar("unknown_property", "1000");
var.analyze(analyzer, true);
Assert.fail("No exception throws.");

View File

@ -21,7 +21,7 @@
package com.baidu.palo.analysis;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.mysql.privilege.MockedAuth;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.qe.ConnectContext;
@ -53,7 +53,7 @@ public class SetVarTest {
}
@Test
public void testNormal() throws InternalException, AnalysisException {
public void testNormal() throws UserException, AnalysisException {
SetVar var = new SetVar(SetType.DEFAULT, "names", new StringLiteral("utf-8"));
var.analyze(analyzer);
@ -71,7 +71,7 @@ public class SetVarTest {
}
@Test(expected = AnalysisException.class)
public void testNoVariable() throws InternalException, AnalysisException {
public void testNoVariable() throws UserException, AnalysisException {
SetVar var = new SetVar(SetType.DEFAULT, "", new StringLiteral("utf-8"));
var.analyze(analyzer);
Assert.fail("No exception throws.");

View File

@ -23,7 +23,7 @@ package com.baidu.palo.analysis;
import com.baidu.palo.analysis.BinaryPredicate.Operator;
import com.baidu.palo.catalog.Catalog;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import org.easymock.EasyMock;
import org.junit.Assert;
@ -59,7 +59,7 @@ public class ShowAlterStmtTest {
}
@Test
public void testNormal() throws InternalException, AnalysisException {
public void testNormal() throws UserException, AnalysisException {
ShowLoadStmt stmt = new ShowLoadStmt(null, null, null, null);
stmt.analyze(analyzer);
Assert.assertEquals("SHOW LOAD FROM `testDb`", stmt.toString());
@ -79,7 +79,7 @@ public class ShowAlterStmtTest {
}
@Test(expected = AnalysisException.class)
public void testNoDb() throws InternalException, AnalysisException {
public void testNoDb() throws UserException, AnalysisException {
analyzer = EasyMock.createMock(Analyzer.class);
EasyMock.expect(analyzer.getDefaultDb()).andReturn("").anyTimes();
EasyMock.expect(analyzer.getClusterName()).andReturn("testCluster").anyTimes();

View File

@ -21,7 +21,7 @@
package com.baidu.palo.analysis;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.mysql.privilege.MockedAuth;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.qe.ConnectContext;
@ -51,7 +51,7 @@ public class ShowCreateDbStmtTest {
}
@Test
public void testNormal() throws AnalysisException, InternalException {
public void testNormal() throws AnalysisException, UserException {
ShowCreateDbStmt stmt = new ShowCreateDbStmt("testDb");
stmt.analyze(AccessTestUtil.fetchAdminAnalyzer(true));
Assert.assertEquals("testCluster:testDb", stmt.getDb());
@ -60,7 +60,7 @@ public class ShowCreateDbStmtTest {
}
@Test(expected = AnalysisException.class)
public void testEmptyDb() throws AnalysisException, InternalException {
public void testEmptyDb() throws AnalysisException, UserException {
ShowCreateDbStmt stmt = new ShowCreateDbStmt("");
stmt.analyze(AccessTestUtil.fetchAdminAnalyzer(false));
Assert.fail("No exception throws.");

View File

@ -25,7 +25,7 @@ import com.baidu.palo.catalog.Catalog;
import com.baidu.palo.catalog.Database;
import com.baidu.palo.catalog.TabletInvertedIndex;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.mysql.privilege.PrivPredicate;
import com.baidu.palo.qe.ConnectContext;
@ -125,7 +125,7 @@ public class ShowDataStmtTest {
}
@Test
public void testNormal() throws AnalysisException, InternalException {
public void testNormal() throws AnalysisException, UserException {
ShowDataStmt stmt = new ShowDataStmt(null, null);
stmt.analyze(analyzer);
Assert.assertEquals("SHOW DATA FROM `testCluster:testDb`", stmt.toString());

View File

@ -24,11 +24,11 @@ import org.junit.Assert;
import org.junit.Test;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
public class ShowDbStmtTest {
@Test
public void testNormal() throws InternalException, AnalysisException {
public void testNormal() throws UserException, AnalysisException {
final Analyzer analyzer = AccessTestUtil.fetchBlockAnalyzer();
ShowDbStmt stmt = new ShowDbStmt(null);
stmt.analyze(analyzer);

View File

@ -23,7 +23,7 @@ package com.baidu.palo.analysis;
import com.baidu.palo.analysis.ShowAlterStmt.AlterType;
import com.baidu.palo.catalog.Catalog;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.system.SystemInfoService;
import org.easymock.EasyMock;
@ -68,7 +68,7 @@ public class ShowLoadStmtTest {
}
@Test
public void testNormal() throws InternalException, AnalysisException {
public void testNormal() throws UserException, AnalysisException {
ShowAlterStmt stmt = new ShowAlterStmt(AlterType.COLUMN, null);
stmt.analyze(analyzer);
Assert.assertEquals("SHOW ALTER COLUMN FROM `testCluster:testDb`", stmt.toString());
@ -79,7 +79,7 @@ public class ShowLoadStmtTest {
}
@Test(expected = AnalysisException.class)
public void testNoDb() throws InternalException, AnalysisException {
public void testNoDb() throws UserException, AnalysisException {
analyzer = EasyMock.createMock(Analyzer.class);
EasyMock.expect(analyzer.getDefaultDb()).andReturn("").anyTimes();
EasyMock.expect(analyzer.getClusterName()).andReturn("testCluster").anyTimes();

View File

@ -21,7 +21,7 @@
package com.baidu.palo.analysis;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.mysql.privilege.MockedAuth;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.qe.ConnectContext;
@ -53,7 +53,7 @@ public class ShowUserPropertyStmtTest {
}
@Test
public void testNormal() throws InternalException, AnalysisException {
public void testNormal() throws UserException, AnalysisException {
ShowUserPropertyStmt stmt = new ShowUserPropertyStmt("testUser", "%load_cluster%");
stmt.analyze(analyzer);
Assert.assertEquals("SHOW PROPERTY FOR 'testCluster:testUser' LIKE '%load_cluster%'", stmt.toString());

View File

@ -21,7 +21,7 @@
package com.baidu.palo.analysis;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.mysql.privilege.MockedAuth;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.qe.ConnectContext;
@ -53,7 +53,7 @@ public class UseStmtTest {
}
@Test
public void testNormal() throws InternalException, AnalysisException {
public void testNormal() throws UserException, AnalysisException {
UseStmt stmt = new UseStmt("testDb");
stmt.analyze(analyzer);
@ -62,7 +62,7 @@ public class UseStmtTest {
}
@Test(expected = AnalysisException.class)
public void testNoDb() throws InternalException, AnalysisException {
public void testNoDb() throws UserException, AnalysisException {
UseStmt stmt = new UseStmt("");
stmt.analyze(analyzer);

View File

@ -26,7 +26,7 @@ import com.baidu.palo.catalog.Catalog;
import com.baidu.palo.catalog.Database;
import com.baidu.palo.catalog.OlapTable;
import com.baidu.palo.common.Config;
import com.baidu.palo.common.FeMetaVersion;
import com.baidu.palo.common.FeConstants;
import com.baidu.palo.common.util.UnitTestUtil;
import com.baidu.palo.persist.EditLog;
import com.baidu.palo.task.AgentBatchTask;
@ -60,10 +60,11 @@ import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicLong;
import mockit.Expectations;
import mockit.Delegate;
import mockit.Mock;
import mockit.MockUp;
import mockit.Mocked;
import mockit.NonStrictExpectations;
import mockit.internal.startup.Startup;
public class BackupJobTest {
@ -118,62 +119,62 @@ public class BackupJobTest {
@Before
public void setUp() {
new MockUp<Catalog>() {
@Mock
public BackupHandler getBackupHandler() {
return backupHandler;
}
@Mock
public Database getDb(long dbId) {
return db;
}
db = UnitTestUtil.createDb(dbId, tblId, partId, idxId, tabletId, backendId, version, versionHash);
@Mock
public int getCurrentCatalogJournalVersion() {
return FeMetaVersion.VERSION_42;
}
new NonStrictExpectations() {
{
catalog.getBackupHandler();
result = backupHandler;
@Mock
public long getNextId() {
return id.getAndIncrement();
}
catalog.getDb(anyLong);
result = db;
@Mock
public EditLog getEditLog() {
return editLog;
Catalog.getCurrentCatalogJournalVersion();
result = FeConstants.meta_version;
catalog.getNextId();
result = id.getAndIncrement();
catalog.getEditLog();
result = editLog;
}
};
new MockUp<BackupHandler>() {
@Mock
public RepositoryMgr getRepoMgr() {
return repoMgr;
new NonStrictExpectations() {
{
backupHandler.getRepoMgr();
result = repoMgr;
}
};
new MockUp<RepositoryMgr>() {
@Mock
public Repository getRepo(long repoId) {
return repo;
new NonStrictExpectations() {
{
repoMgr.getRepo(anyInt);
result = repo;
minTimes = 0;
}
};
new MockUp<EditLog>() {
@Mock
public void logBackupJob(BackupJob job) {
System.out.println("log backup job: " + job);
new NonStrictExpectations() {
{
editLog.logBackupJob((BackupJob) any);
result = new Delegate() {
public void logBackupJob(BackupJob job) {
System.out.println("log backup job: " + job);
}
};
}
};
new MockUp<AgentTaskExecutor>() {
@Mock
public void submit(AgentBatchTask task) {
return;
}
};
new Expectations(Repository.class) {
new NonStrictExpectations(Repository.class) {
{
repo.upload(anyString, anyString);
minTimes = 0;
@ -181,7 +182,6 @@ public class BackupJobTest {
}
};
db = UnitTestUtil.createDb(dbId, tblId, partId, idxId, tabletId, backendId, version, versionHash);
List<TableRef> tableRefs = Lists.newArrayList();
tableRefs.add(new TableRef(new TableName(UnitTestUtil.DB_NAME, UnitTestUtil.TABLE_NAME), null));
job = new BackupJob("label", dbId, UnitTestUtil.DB_NAME, tableRefs, 13600 * 1000, catalog, repo.getId());

View File

@ -13,13 +13,11 @@ import com.baidu.palo.catalog.Partition;
import com.baidu.palo.catalog.Table;
import com.baidu.palo.catalog.Tablet;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.FeMetaVersion;
import com.baidu.palo.common.FeConstants;
import com.baidu.palo.common.MarkedCountDownLatch;
import com.baidu.palo.persist.EditLog;
import com.baidu.palo.system.SystemInfoService;
import com.baidu.palo.task.AgentBatchTask;
import com.baidu.palo.task.AgentTask;
import com.baidu.palo.task.AgentTaskExecutor;
import com.baidu.palo.task.AgentTaskQueue;
import com.baidu.palo.task.DirMoveTask;
import com.baidu.palo.task.DownloadTask;
@ -35,6 +33,7 @@ import com.google.common.collect.Maps;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import java.util.List;
@ -45,6 +44,7 @@ import java.util.concurrent.atomic.AtomicLong;
import java.util.zip.Adler32;
import mockit.Delegate;
import mockit.Injectable;
import mockit.Mock;
import mockit.MockUp;
import mockit.Mocked;
@ -63,6 +63,7 @@ public class RestoreJobTest {
private OlapTable expectedRestoreTbl;
private long repoId = 20000;
@Mocked
private Catalog catalog;
@Mocked
@ -74,6 +75,7 @@ public class RestoreJobTest {
@Mocked
private SystemInfoService systemInfoService;
@Injectable
private Repository repo = new Repository(repoId, "repo", false, "bos://my_repo",
new BlobStorage("broker", Maps.newHashMap()));
@ -85,29 +87,30 @@ public class RestoreJobTest {
@Before
public void setUp() throws AnalysisException {
db = CatalogMocker.mockDb();
new NonStrictExpectations() {
{
catalog.getBackupHandler();
result = backupHandler;
catalog.getDb(anyLong);
result = db;
Catalog.getCurrentCatalogJournalVersion();
result = FeMetaVersion.VERSION_42;
result = FeConstants.meta_version;
catalog.getNextId();
result = id.getAndIncrement();
catalog.getEditLog();
result = catalog;
result = editLog;
Catalog.getCurrentSystemInfo();
result = systemInfoService;
}
};
new NonStrictExpectations() {
{
systemInfoService.seqChooseBackendIds(anyInt, anyBoolean, anyBoolean, anyString);
@ -123,21 +126,22 @@ public class RestoreJobTest {
};
}
};
new NonStrictExpectations() {
{
backupHandler.getRepoMgr();
result = repoMgr;
}
};
new NonStrictExpectations() {
{
repoMgr.getRepo(anyInt);
result = repo;
minTimes = 0;
}
};
new NonStrictExpectations() {
{
editLog.logBackupJob((BackupJob) any);
@ -148,22 +152,12 @@ public class RestoreJobTest {
};
}
};
new NonStrictExpectations() {
{
AgentTaskExecutor.submit((AgentBatchTask) any);
result = new Delegate() {
public void submit(AgentBatchTask task) {
return;
}
};
}
};
new NonStrictExpectations() {
{
repo.upload(anyString, anyString);
result = Status.OK;
minTimes = 0;
List<BackupMeta> backupMetas = Lists.newArrayList();
repo.getSnapshotMetaFile(label, backupMetas);
@ -182,9 +176,7 @@ public class RestoreJobTest {
return true;
}
};
db = CatalogMocker.mockDb();
// gen BackupJobInfo
jobInfo = new BackupJobInfo();
jobInfo.backupTime = System.currentTimeMillis();
@ -198,7 +190,7 @@ public class RestoreJobTest {
tblInfo.id = CatalogMocker.TEST_TBL2_ID;
tblInfo.name = CatalogMocker.TEST_TBL2_NAME;
jobInfo.tables.put(tblInfo.name, tblInfo);
for (Partition partition : expectedRestoreTbl.getPartitions()) {
BackupPartitionInfo partInfo = new BackupPartitionInfo();
partInfo.id = partition.getId();
@ -222,18 +214,19 @@ public class RestoreJobTest {
}
}
}
// drop this table, cause we want to try restoring this table
db.dropTable(expectedRestoreTbl.getName());
job = new RestoreJob(label, "2018-01-01 01:01:01", db.getId(), db.getFullName(),
jobInfo, false, 3, 100000, catalog, repo.getId());
List<Table> tbls = Lists.newArrayList();
tbls.add(expectedRestoreTbl);
backupMeta = new BackupMeta(tbls);
}
@Ignore
@Test
public void testRun() {
// pending
@ -354,8 +347,10 @@ public class RestoreJobTest {
OlapTable tbl = (OlapTable) db.getTable(CatalogMocker.TEST_TBL_NAME);
List<String> partNames = Lists.newArrayList(tbl.getPartitionNames());
System.out.println(partNames);
System.out.println("tbl signature: " + tbl.getSignature(BackupHandler.SIGNATURE_VERSION, partNames));
tbl.setName("newName");
partNames = Lists.newArrayList(tbl.getPartitionNames());
System.out.println("tbl signature: " + tbl.getSignature(BackupHandler.SIGNATURE_VERSION, partNames));
}

View File

@ -57,7 +57,8 @@ public class BDBToolTest {
}
// write something
ReplicaPersistInfo info = ReplicaPersistInfo.createForAdd(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11);
ReplicaPersistInfo info = ReplicaPersistInfo.createForAdd(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15);
JournalEntity entity = new JournalEntity();
entity.setOpCode(OperationType.OP_ADD_REPLICA);
entity.setData(info);

View File

@ -217,7 +217,7 @@ public class CatalogTest {
catalog.addCluster(cluster);
catalog.unprotectCreateDb(db1);
SchemaChangeJob job1 = new SchemaChangeJob(db1.getId(), table.getId(), null, table.getName());
SchemaChangeJob job1 = new SchemaChangeJob(db1.getId(), table.getId(), null, table.getName(), -1);
catalog.getSchemaChangeHandler().replayInitJob(job1, catalog);
long checksum1 = catalog.saveAlterJob(dos, 0, JobType.SCHEMA_CHANGE);

View File

@ -26,6 +26,7 @@ import com.baidu.palo.analysis.KeysDesc;
import com.baidu.palo.analysis.RandomDistributionDesc;
import com.baidu.palo.analysis.TableName;
import com.baidu.palo.common.DdlException;
import com.baidu.palo.common.FeMetaVersion;
import com.baidu.palo.system.Backend;
import com.baidu.palo.system.SystemInfoService;
@ -262,6 +263,7 @@ public class CreateTableTest {
EasyMock.expect(Catalog.getInstance()).andReturn(catalog).anyTimes();
EasyMock.expect(Catalog.getCurrentSystemInfo()).andReturn(systemInfoService).anyTimes();
EasyMock.expect(Catalog.getCurrentInvertedIndex()).andReturn(invertedIndex).anyTimes();
EasyMock.expect(Catalog.getCurrentCatalogJournalVersion()).andReturn(FeMetaVersion.VERSION_45).anyTimes();
EasyMock.expect(Catalog.isCheckpointThread()).andReturn(false).anyTimes();
EasyMock.expect(Catalog.calcShortKeyColumnCount(EasyMock.anyObject(List.class), EasyMock.anyObject(Map.class)))
.andReturn((short) 2).anyTimes();

View File

@ -80,8 +80,6 @@ public class DatabaseTest {
db.readLock();
try {
Assert.assertFalse(db.tryWriteLock(0, TimeUnit.SECONDS));
Assert.assertTrue(db.tryReadLock(0, TimeUnit.SECONDS));
db.readUnlock();
} finally {
db.readUnlock();
}
@ -89,7 +87,6 @@ public class DatabaseTest {
db.writeLock();
try {
Assert.assertTrue(db.tryWriteLock(0, TimeUnit.SECONDS));
Assert.assertTrue(db.tryReadLock(0, TimeUnit.SECONDS));
} finally {
db.writeUnlock();
}
@ -178,7 +175,6 @@ public class DatabaseTest {
db2.createTable(table);
db2.write(dos);
dos.flush();
dos.close();

View File

@ -20,7 +20,10 @@
package com.baidu.palo.catalog;
import static org.junit.Assert.assertEquals;
import com.baidu.palo.catalog.Replica.ReplicaState;
import com.baidu.palo.common.FeMetaVersion;
import org.junit.Assert;
import org.junit.Before;
@ -34,8 +37,15 @@ import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;
import mockit.Mocked;
import mockit.NonStrictExpectations;
public class ReplicaTest {
// replica serialize and deserialize test will use catalog so that it should be mocked
@Mocked
Catalog catalog;
private Replica replica;
private long replicaId;
private long backendId;
@ -44,6 +54,7 @@ public class ReplicaTest {
private long dataSize;
private long rowCount;
@Before
public void setUp() {
replicaId = 10000;
@ -52,7 +63,7 @@ public class ReplicaTest {
versionHash = 98765;
dataSize = 9999;
rowCount = 1024;
replica = new Replica(replicaId, backendId, version, versionHash, dataSize, rowCount, ReplicaState.NORMAL);
replica = new Replica(replicaId, backendId, version, versionHash, dataSize, rowCount, ReplicaState.NORMAL, 0, 0, version, versionHash);
}
@Test
@ -80,27 +91,16 @@ public class ReplicaTest {
Assert.assertFalse(replica.checkVersionCatchUp(newVersion, 76543));
Assert.assertTrue(replica.checkVersionCatchUp(newVersion, newVersionHash));
}
@Test
public void toStringTest() {
StringBuffer strBuffer = new StringBuffer("replicaId=");
strBuffer.append(replicaId);
strBuffer.append(", BackendId=");
strBuffer.append(backendId);
strBuffer.append(", version=");
strBuffer.append(version);
strBuffer.append(", versionHash=");
strBuffer.append(versionHash);
strBuffer.append(", dataSize=");
strBuffer.append(dataSize);
strBuffer.append(", rowCount=");
strBuffer.append(rowCount);
Assert.assertEquals(strBuffer.toString(), replica.toString());
}
@Test
public void testSerialization() throws Exception {
new NonStrictExpectations() {
{
Catalog.getCurrentCatalogJournalVersion();
result = FeMetaVersion.VERSION_45;
}
};
// 1. Write objects to file
File file = new File("./olapReplicaTest");
file.createNewFile();
@ -110,7 +110,7 @@ public class ReplicaTest {
List<Replica> list2 = new ArrayList<Replica>();
for (int count = 0; count < 10; ++count) {
Replica olapReplica = new Replica(100L * count, 100L * count, 100L * count, 100L * count,
100L * count, 100 * count, ReplicaState.NORMAL);
100L * count, 100 * count, ReplicaState.NORMAL, 0, 0, 100L * count, 100L * count);
list1.add(olapReplica);
olapReplica.write(dos);
}
@ -151,5 +151,107 @@ public class ReplicaTest {
dis.close();
file.delete();
}
@Test
public void testUpdateVersion1() {
Replica originalReplica = new Replica(10000, 20000, 3, 1231, 100, 78, ReplicaState.NORMAL, 0, 0, 3, 1231);
// new version is little than original version, it is invalid the version will not update
originalReplica.updateInfo(2, 111, 100, 78);
assertEquals(3, originalReplica.getVersion());
assertEquals(1231, originalReplica.getVersionHash());
}
@Test
public void testUpdateVersion2() {
Replica originalReplica = new Replica(10000, 20000, 3, 1231, 100, 78, ReplicaState.NORMAL, 0, 0, 0, 0);
originalReplica.updateInfo(3, 111, 100, 78);
// if new version >= current version and last success version <= new version, then last success version should be updated
assertEquals(3, originalReplica.getLastSuccessVersion());
assertEquals(111, originalReplica.getLastSuccessVersionHash());
assertEquals(3, originalReplica.getVersion());
assertEquals(111, originalReplica.getVersionHash());
}
@Test
public void testUpdateVersion3() {
// version(3) ---> last failed version (8) ---> last success version(10)
Replica originalReplica = new Replica(10000, 20000, 3, 111, 100, 78, ReplicaState.NORMAL, 0, 0, 0, 0);
originalReplica.updateLastFailedVersion(8, 100);
assertEquals(3, originalReplica.getLastSuccessVersion());
assertEquals(111, originalReplica.getLastSuccessVersionHash());
assertEquals(3, originalReplica.getVersion());
assertEquals(111, originalReplica.getVersionHash());
assertEquals(8, originalReplica.getLastFailedVersion());
assertEquals(100, originalReplica.getLastFailedVersionHash());
// update last success version 10
originalReplica.updateVersionInfo(originalReplica.getVersion(),
originalReplica.getVersionHash(), originalReplica.getLastFailedVersion(),
originalReplica.getLastFailedVersionHash(),
10, 1210);
assertEquals(10, originalReplica.getLastSuccessVersion());
assertEquals(1210, originalReplica.getLastSuccessVersionHash());
assertEquals(3, originalReplica.getVersion());
assertEquals(111, originalReplica.getVersionHash());
assertEquals(8, originalReplica.getLastFailedVersion());
assertEquals(100, originalReplica.getLastFailedVersionHash());
// update version to 8, the last success version and version should be 10
originalReplica.updateInfo(8, 100, 100, 78);
assertEquals(10, originalReplica.getLastSuccessVersion());
assertEquals(1210, originalReplica.getLastSuccessVersionHash());
assertEquals(10, originalReplica.getVersion());
assertEquals(1210, originalReplica.getVersionHash());
assertEquals(-1, originalReplica.getLastFailedVersion());
assertEquals(0, originalReplica.getLastFailedVersionHash());
// update last failed version to 12
originalReplica.updateLastFailedVersion(12, 1212);
assertEquals(10, originalReplica.getLastSuccessVersion());
assertEquals(1210, originalReplica.getLastSuccessVersionHash());
assertEquals(10, originalReplica.getVersion());
assertEquals(1210, originalReplica.getVersionHash());
assertEquals(12, originalReplica.getLastFailedVersion());
assertEquals(1212, originalReplica.getLastFailedVersionHash());
// update last success version to 15
originalReplica.updateVersionInfo(originalReplica.getVersion(),
originalReplica.getVersionHash(), originalReplica.getLastFailedVersion(),
originalReplica.getLastFailedVersionHash(),
15, 1215);
assertEquals(15, originalReplica.getLastSuccessVersion());
assertEquals(1215, originalReplica.getLastSuccessVersionHash());
assertEquals(10, originalReplica.getVersion());
assertEquals(1210, originalReplica.getVersionHash());
assertEquals(12, originalReplica.getLastFailedVersion());
assertEquals(1212, originalReplica.getLastFailedVersionHash());
// update last failed version to 18
originalReplica.updateLastFailedVersion(18, 1218);
assertEquals(10, originalReplica.getLastSuccessVersion());
assertEquals(1210, originalReplica.getLastSuccessVersionHash());
assertEquals(10, originalReplica.getVersion());
assertEquals(1210, originalReplica.getVersionHash());
assertEquals(18, originalReplica.getLastFailedVersion());
assertEquals(1218, originalReplica.getLastFailedVersionHash());
// update version to 17 then version and success version is 17
originalReplica.updateInfo(17, 1217, 100, 78);
assertEquals(17, originalReplica.getLastSuccessVersion());
assertEquals(1217, originalReplica.getLastSuccessVersionHash());
assertEquals(17, originalReplica.getVersion());
assertEquals(1217, originalReplica.getVersionHash());
assertEquals(18, originalReplica.getLastFailedVersion());
assertEquals(1218, originalReplica.getLastFailedVersionHash());
// update version to 18, then version and last success version should be 18 and failed version should be -1
originalReplica.updateInfo(18, 1218, 100, 78);
assertEquals(18, originalReplica.getLastSuccessVersion());
assertEquals(1218, originalReplica.getLastSuccessVersionHash());
assertEquals(18, originalReplica.getVersion());
assertEquals(1218, originalReplica.getVersionHash());
assertEquals(-1, originalReplica.getLastFailedVersion());
assertEquals(0, originalReplica.getLastFailedVersionHash());
}
}

View File

@ -64,9 +64,9 @@ public class TabletTest {
tablet = new Tablet(1);
TabletMeta tabletMeta = new TabletMeta(10, 20, 30, 40, 1);
invertedIndex.addTablet(1, tabletMeta);
replica1 = new Replica(1L, 1L, 100L, 0L, 200000L, 3000L, ReplicaState.NORMAL);
replica2 = new Replica(2L, 2L, 100L, 0L, 200000L, 3000L, ReplicaState.NORMAL);
replica3 = new Replica(3L, 3L, 100L, 0L, 200000L, 3000L, ReplicaState.NORMAL);
replica1 = new Replica(1L, 1L, 100L, 0L, 200000L, 3000L, ReplicaState.NORMAL, 0, 0, 0, 0);
replica2 = new Replica(2L, 2L, 100L, 0L, 200000L, 3000L, ReplicaState.NORMAL, 0, 0, 0, 0);
replica3 = new Replica(3L, 3L, 100L, 0L, 200000L, 3000L, ReplicaState.NORMAL, 0, 0, 0, 0);
tablet.addReplica(replica1);
tablet.addReplica(replica2);
tablet.addReplica(replica3);
@ -134,9 +134,9 @@ public class TabletTest {
Assert.assertFalse(rTablet1.equals(this));
Tablet tablet2 = new Tablet(1);
Replica replica1 = new Replica(1L, 1L, 100L, 0L, 200000L, 3000L, ReplicaState.NORMAL);
Replica replica2 = new Replica(2L, 2L, 100L, 0L, 200000L, 3000L, ReplicaState.NORMAL);
Replica replica3 = new Replica(3L, 3L, 100L, 0L, 200000L, 3000L, ReplicaState.NORMAL);
Replica replica1 = new Replica(1L, 1L, 100L, 0L, 200000L, 3000L, ReplicaState.NORMAL, 0, 0, 0, 0);
Replica replica2 = new Replica(2L, 2L, 100L, 0L, 200000L, 3000L, ReplicaState.NORMAL, 0, 0, 0, 0);
Replica replica3 = new Replica(3L, 3L, 100L, 0L, 200000L, 3000L, ReplicaState.NORMAL, 0, 0, 0, 0);
tablet2.addReplica(replica1);
tablet2.addReplica(replica2);
Assert.assertFalse(tablet2.equals(tablet));
@ -146,7 +146,7 @@ public class TabletTest {
Tablet tablet3 = new Tablet(1);
tablet3.addReplica(replica1);
tablet3.addReplica(replica2);
tablet3.addReplica(new Replica(4L, 4L, 100L, 0L, 200000L, 3000L, ReplicaState.NORMAL));
tablet3.addReplica(new Replica(4L, 4L, 100L, 0L, 200000L, 3000L, ReplicaState.NORMAL, 0, 0, 0, 0));
Assert.assertFalse(tablet3.equals(tablet));
dis.close();

View File

@ -167,12 +167,6 @@ public class SystemInfoServiceTest {
systemInfoService.validateHostAndPort(hostPort);
}
@Test(expected = AnalysisException.class)
public void validHostAndPortTest2() throws Exception {
createHostAndPort(2);
systemInfoService.validateHostAndPort(hostPort);
}
@Test(expected = AnalysisException.class)
public void validHostAndPortTest3() throws Exception {
createHostAndPort(3);

View File

@ -49,7 +49,7 @@ public class CIDRTest {
}
@Test
public void testNormal() throws InternalException {
public void testNormal() throws UserException {
// the real value is 10.1.16.0/20
CIDR cidr = new CIDR("192.168.17.0/20");
Assert.assertEquals("192.168.17.0", cidr.getIP());

View File

@ -20,19 +20,6 @@
package com.baidu.palo.common;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.pool2.impl.GenericKeyedObjectPoolConfig;
import org.apache.thrift.TException;
import org.apache.thrift.TProcessor;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
import com.baidu.palo.thrift.BackendService;
import com.baidu.palo.thrift.PaloInternalServiceVersion;
import com.baidu.palo.thrift.TAgentPublishRequest;
@ -57,10 +44,24 @@ import com.baidu.palo.thrift.TPullLoadSubTaskInfo;
import com.baidu.palo.thrift.TResultBatch;
import com.baidu.palo.thrift.TSnapshotRequest;
import com.baidu.palo.thrift.TStatus;
import com.baidu.palo.thrift.TTabletStatResult;
import com.baidu.palo.thrift.TTransmitDataParams;
import com.baidu.palo.thrift.TTransmitDataResult;
import com.baidu.palo.thrift.TUniqueId;
import org.apache.commons.pool2.impl.GenericKeyedObjectPoolConfig;
import org.apache.thrift.TException;
import org.apache.thrift.TProcessor;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.List;
public class GenericPoolTest {
static GenericPool<BackendService.Client> backendService;
static ThriftServer service;
@ -210,6 +211,12 @@ public class GenericPoolTest {
// TODO Auto-generated method stub
return null;
}
@Override
public TTabletStatResult get_tablet_stat() throws TException {
// TODO Auto-generated method stub
return null;
}
}
@Test

View File

@ -30,7 +30,7 @@ import java.util.Map;
public class MarkDownParserTest {
@Test
public void testNormal() throws InternalException {
public void testNormal() throws UserException {
List<String> lines = Lists.newArrayList();
lines.add("# SHOW TABLES");
lines.add("## name");
@ -58,7 +58,7 @@ public class MarkDownParserTest {
}
@Test
public void testMultiDoc() throws InternalException {
public void testMultiDoc() throws UserException {
List<String> lines = Lists.newArrayList();
lines.add(" name");
lines.add("# SHOW TABLES");
@ -88,7 +88,7 @@ public class MarkDownParserTest {
}
@Test
public void testNoDoc() throws InternalException {
public void testNoDoc() throws UserException {
List<String> lines = Lists.newArrayList();
lines.add(" SHOW TABLES");
lines.add(" name");
@ -111,8 +111,8 @@ public class MarkDownParserTest {
Assert.assertNull(map.get("DATABASES abc"));
}
@Test(expected = InternalException.class)
public void testNoFirst() throws InternalException {
@Test(expected = UserException.class)
public void testNoFirst() throws UserException {
List<String> lines = Lists.newArrayList();
lines.add("## SHOW TABLES");
MarkDownParser parser = new MarkDownParser(lines);
@ -120,8 +120,8 @@ public class MarkDownParserTest {
Assert.fail("No exception throws.");
}
@Test(expected = InternalException.class)
public void testErrorState() throws InternalException {
@Test(expected = UserException.class)
public void testErrorState() throws UserException {
List<String> lines = Lists.newArrayList();
lines.add("# SHOW TABLES");
lines.add("## name");
@ -132,7 +132,7 @@ public class MarkDownParserTest {
}
@Test
public void testEmptyTitle() throws InternalException {
public void testEmptyTitle() throws UserException {
List<String> lines = Lists.newArrayList();
lines.add("#");
lines.add("## ");
@ -155,7 +155,7 @@ public class MarkDownParserTest {
}
@Test
public void testOneName() throws InternalException {
public void testOneName() throws UserException {
List<String> lines = Lists.newArrayList();
lines.add("# TABLES");
lines.add("# TABLE");

View File

@ -21,7 +21,6 @@
package com.baidu.palo.common.util;
import com.baidu.palo.catalog.AggregateType;
import com.baidu.palo.catalog.Catalog;
import com.baidu.palo.catalog.Column;
import com.baidu.palo.catalog.ColumnType;
import com.baidu.palo.catalog.DataProperty;
@ -66,13 +65,13 @@ public class UnitTestUtil {
public static Database createDb(long dbId, long tableId, long partitionId, long indexId,
long tabletId, long backendId, long version, long versionHash) {
Catalog.getCurrentInvertedIndex().clear();
// Catalog.getCurrentInvertedIndex().clear();
// replica
long replicaId = 0;
Replica replica1 = new Replica(replicaId, backendId, version, versionHash, 0L, 0L, ReplicaState.NORMAL);
Replica replica2 = new Replica(replicaId + 1, backendId + 1, version, versionHash, 0L, 0L, ReplicaState.NORMAL);
Replica replica3 = new Replica(replicaId + 2, backendId + 2, version, versionHash, 0L, 0L, ReplicaState.NORMAL);
Replica replica1 = new Replica(replicaId, backendId, ReplicaState.NORMAL, version, versionHash);
Replica replica2 = new Replica(replicaId + 1, backendId + 1, ReplicaState.NORMAL, version, versionHash);
Replica replica3 = new Replica(replicaId + 2, backendId + 2, ReplicaState.NORMAL, version, versionHash);
// tablet
Tablet tablet = new Tablet(tabletId);

View File

@ -28,6 +28,7 @@ import com.baidu.palo.catalog.Replica;
import com.baidu.palo.catalog.Tablet;
import com.baidu.palo.common.Config;
import com.baidu.palo.common.util.UnitTestUtil;
import com.baidu.palo.load.FailMsg.CancelType;
import com.baidu.palo.load.LoadJob.JobState;
import com.baidu.palo.persist.EditLog;
import com.baidu.palo.task.AgentTaskQueue;
@ -264,8 +265,10 @@ public class LoadCheckerTest {
// mock load
load = EasyMock.createMock(Load.class);
EasyMock.expect(load.getLoadJobs(JobState.LOADING)).andReturn(etlJobs).times(2);
EasyMock.expect(load.updateLoadJobState(job, JobState.QUORUM_FINISHED)).andReturn(true).times(1);
EasyMock.expect(load.getLoadJobs(JobState.LOADING)).andReturn(etlJobs).anyTimes();
EasyMock.expect(load.updateLoadJobState(job, JobState.QUORUM_FINISHED)).andReturn(true).anyTimes();
EasyMock.expect(load.cancelLoadJob((LoadJob) EasyMock.anyObject(), (CancelType) EasyMock.anyObject(),
EasyMock.anyString())).andReturn(true).anyTimes();
EasyMock.replay(load);
EasyMock.expect(catalog.getLoadInstance()).andReturn(load).times(4);
EasyMock.replay(catalog);
@ -279,7 +282,7 @@ public class LoadCheckerTest {
Map<JobState, LoadChecker> checkers = (Map<JobState, LoadChecker>) checkersField.get(LoadChecker.class);
Method runLoadingJobs = UnitTestUtil.getPrivateMethod(LoadChecker.class, "runLoadingJobs", new Class[] {});
runLoadingJobs.invoke(checkers.get(JobState.LOADING), new Object[] {});
Assert.assertEquals(replicaNum, AgentTaskQueue.getTaskNum());
Assert.assertEquals(0, AgentTaskQueue.getTaskNum());
// update replica to new version
for (MaterializedIndex olapIndex : partition.getMaterializedIndices()) {

View File

@ -1,332 +0,0 @@
// Copyright (c) 2017, Baidu.com, Inc. All Rights Reserved
// 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 com.baidu.palo.load;
import com.baidu.palo.analysis.CancelLoadStmt;
import com.baidu.palo.analysis.ColumnSeparator;
import com.baidu.palo.analysis.DataDescription;
import com.baidu.palo.analysis.DeleteStmt;
import com.baidu.palo.analysis.LabelName;
import com.baidu.palo.analysis.LoadStmt;
import com.baidu.palo.analysis.Predicate;
import com.baidu.palo.catalog.Catalog;
import com.baidu.palo.catalog.Database;
import com.baidu.palo.catalog.MaterializedIndex;
import com.baidu.palo.catalog.OlapTable;
import com.baidu.palo.catalog.Partition;
import com.baidu.palo.catalog.Replica;
import com.baidu.palo.catalog.Tablet;
import com.baidu.palo.common.Config;
import com.baidu.palo.common.DdlException;
import com.baidu.palo.common.MarkedCountDownLatch;
import com.baidu.palo.common.Pair;
import com.baidu.palo.common.util.UnitTestUtil;
import com.baidu.palo.load.FailMsg.CancelType;
import com.baidu.palo.load.LoadJob.EtlJobType;
import com.baidu.palo.load.LoadJob.JobState;
import com.baidu.palo.metric.MetricRepo;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.mysql.privilege.PrivPredicate;
import com.baidu.palo.persist.EditLog;
import com.baidu.palo.qe.ConnectContext;
import com.baidu.palo.qe.QueryState;
import com.baidu.palo.qe.SessionVariable;
import com.baidu.palo.system.Backend;
import com.baidu.palo.system.SystemInfoService;
import com.google.common.collect.Lists;
import org.easymock.EasyMock;
import org.junit.Assert;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.api.easymock.PowerMock;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.concurrent.TimeUnit;
@RunWith(PowerMockRunner.class)
@PrepareForTest({ Load.class, Catalog.class, ConnectContext.class, SystemInfoService.class })
public class LoadTest {
private long dbId;
private long tableId;
private long partitionId;
private long indexId;
private long tabletId;
private long backendId;
private String label;
private String columnSeparator;
private List<String> filePathes;
private Load load;
private Database db;
private ConnectContext connectContext;
@BeforeClass
public static void start() {
MetricRepo.init();
}
@Before
public void setUp() throws DdlException {
dbId = 0L;
tableId = 0L;
partitionId = 0L;
indexId = 0L;
tabletId = 0L;
backendId = 0L;
label = "test_label";
columnSeparator = "\t";
filePathes = new ArrayList<String>();
filePathes.add("test_path");
load = new Load();
Config.load_running_job_num_limit = 0;
// dpp configs
UnitTestUtil.initDppConfig();
// mock catalog
db = UnitTestUtil.createDb(dbId, tableId, partitionId, indexId, tabletId, backendId, 1L, 0L);
Catalog catalog = EasyMock.createNiceMock(Catalog.class);
EasyMock.expect(catalog.getDb(dbId)).andReturn(db).anyTimes();
EasyMock.expect(catalog.getDb(db.getFullName())).andReturn(db).anyTimes();
// mock editLog
EditLog editLog = EasyMock.createMock(EditLog.class);
EasyMock.expect(catalog.getEditLog()).andReturn(editLog).anyTimes();
// mock auth
PaloAuth auth = EasyMock.createNiceMock(PaloAuth.class);
EasyMock.expect(auth.getLoadClusterInfo(EasyMock.anyString(), EasyMock.anyString()))
.andReturn(Pair.create("cluster", new DppConfig())).anyTimes();
EasyMock.expect(auth.checkTblPriv(EasyMock.isA(ConnectContext.class), EasyMock.anyString(),
EasyMock.anyString(), EasyMock.isA(PrivPredicate.class)))
.andReturn(true).anyTimes();
EasyMock.expect(catalog.getAuth()).andReturn(auth).anyTimes();
EasyMock.replay(auth);
// mock backend
Backend backend = EasyMock.createMock(Backend.class);
EasyMock.expect(backend.isAlive()).andReturn(true).anyTimes();
EasyMock.replay(backend);
EasyMock.replay(catalog);
// SystemInfoService
SystemInfoService systemInfoService = EasyMock.createMock(SystemInfoService.class);
EasyMock.expect(systemInfoService.checkBackendAvailable(EasyMock.anyLong())).andReturn(true).anyTimes();
systemInfoService.checkClusterCapacity(EasyMock.anyString());
EasyMock.expectLastCall().anyTimes();
EasyMock.replay(systemInfoService);
// mock static getInstance
PowerMock.mockStatic(Catalog.class);
EasyMock.expect(Catalog.getInstance()).andReturn(catalog).anyTimes();
EasyMock.expect(Catalog.getCurrentCatalog()).andReturn(catalog).anyTimes();
EasyMock.expect(Catalog.getCurrentSystemInfo()).andReturn(systemInfoService).anyTimes();
PowerMock.replay(Catalog.class);
QueryState state = new QueryState();
connectContext = EasyMock.createMock(ConnectContext.class);
EasyMock.expect(connectContext.toResourceCtx()).andReturn(null).anyTimes();
EasyMock.expect(connectContext.getSessionVariable()).andReturn(new SessionVariable()).anyTimes();
EasyMock.expect(connectContext.getQualifiedUser()).andReturn("root").anyTimes();
EasyMock.expect(connectContext.getRemoteIP()).andReturn("192.168.1.1").anyTimes();
EasyMock.expect(connectContext.getState()).andReturn(state).anyTimes();
EasyMock.replay(connectContext);
PowerMock.mockStatic(ConnectContext.class);
EasyMock.expect(ConnectContext.get()).andReturn(connectContext).anyTimes();
PowerMock.replay(ConnectContext.class);
}
private void addLoadJob(String label) throws DdlException {
LabelName labelName = new LabelName(db.getFullName(), label);
List<DataDescription> dataDescriptions = new ArrayList<DataDescription>();
DataDescription dataDescription = new DataDescription(UnitTestUtil.TABLE_NAME,
Lists.newArrayList(UnitTestUtil.PARTITION_NAME), filePathes, null, new ColumnSeparator(columnSeparator),
false, null);
dataDescriptions.add(dataDescription);
LoadStmt stmt = new LoadStmt(labelName, dataDescriptions, null, null, null);
load.addLoadJob(stmt, EtlJobType.HADOOP, 0);
}
@Test
public void testAddAndGetLoadJob() throws DdlException {
// add load job success
addLoadJob(label);
// verify
// getDbLoadJobs
List<LoadJob> dbLoadJobs = load.getDbLoadJobs(dbId);
Assert.assertEquals(1, dbLoadJobs.size());
LoadJob job = dbLoadJobs.get(0);
Assert.assertEquals("cluster", job.getHadoopCluster());
Assert.assertEquals(Config.hadoop_load_default_timeout_second, job.getTimeoutSecond());
// getLoadJobNumber
Assert.assertEquals(1, load.getLoadJobNumber());
// getIdToLoadJob
Assert.assertEquals(1, load.getIdToLoadJob().size());
// getDbToLoadJobs
Map<Long, List<LoadJob>> dbToLoadJobs = load.getDbToLoadJobs();
Assert.assertEquals(1, dbToLoadJobs.get(dbId).size());
// getLoadJobs
Assert.assertEquals(1, load.getLoadJobs(JobState.PENDING).size());
// getLoadJob
Assert.assertEquals(job, load.getLoadJob(job.getId()));
// getLoadJobInfosByDb
Assert.assertEquals(1, load.getLoadJobInfosByDb(db.getId(), db.getFullName(), null, false, null, null).size());
}
@Test
public void testCancelLoadJob() throws Exception {
// add load job success
addLoadJob(label);
// mock dppscheduler
DppScheduler dppScheduler = EasyMock.createMock(DppScheduler.class);
dppScheduler.deleteEtlOutputPath(EasyMock.anyString());
EasyMock.expectLastCall().times(1);
EasyMock.replay(dppScheduler);
PowerMock.expectNew(DppScheduler.class, EasyMock.anyString()).andReturn(dppScheduler).times(1);
PowerMock.replay(DppScheduler.class);
// cancel success
CancelLoadStmt cancelStmt = EasyMock.createMock(CancelLoadStmt.class);
EasyMock.expect(cancelStmt.getDbName()).andReturn(db.getFullName()).anyTimes();
EasyMock.expect(cancelStmt.getLabel()).andReturn(label).anyTimes();
EasyMock.replay(cancelStmt);
load.cancelLoadJob(cancelStmt);
// verify
List<LoadJob> dbLoadJobs = load.getDbLoadJobs(dbId);
Assert.assertEquals(1, dbLoadJobs.size());
LoadJob job = dbLoadJobs.get(0);
Assert.assertEquals(JobState.CANCELLED, job.getState());
Assert.assertEquals(CancelType.USER_CANCEL, job.getFailMsg().getCancelType());
}
@Test
public void testQuorumFinished() throws Exception {
// add load job success
addLoadJob(label);
// get job
List<LoadJob> dbLoadJobs = load.getDbLoadJobs(dbId);
Assert.assertEquals(1, dbLoadJobs.size());
LoadJob job = dbLoadJobs.get(0);
Assert.assertEquals(JobState.PENDING, job.getState());
// update job state loading
job.setState(JobState.LOADING);
// update replica row count
OlapTable table = (OlapTable) db.getTable(tableId);
Partition partition = table.getPartition(partitionId);
long oldCommittedVersion = partition.getCommittedVersion();
long versionHash = 0L;
Map<Long, Long> indexIdToRowCount = new HashMap<Long, Long>();
for (MaterializedIndex index : partition.getMaterializedIndices()) {
long indexRowCount = 0L;
for (Tablet tablet : index.getTablets()) {
long rowCount = 10L;
indexRowCount += rowCount;
for (Replica replica : tablet.getReplicas()) {
replica.updateInfo(oldCommittedVersion + 1, versionHash, 1, rowCount--);
}
}
indexIdToRowCount.put(index.getId(), indexRowCount);
}
// test
load.updateLoadJobState(job, JobState.QUORUM_FINISHED);
// verify
Assert.assertEquals(JobState.QUORUM_FINISHED, job.getState());
Assert.assertEquals(100, job.getProgress());
for (MaterializedIndex olapTable : partition.getMaterializedIndices()) {
Assert.assertEquals((long) indexIdToRowCount.get(olapTable.getId()), olapTable.getRowCount());
}
}
@Test
public void testDelete() throws Exception {
// get table family
OlapTable table = (OlapTable) db.getTable(tableId);
Partition partition = table.getPartition(partitionId);
long oldCommittedVersion = partition.getCommittedVersion();
// mock CountDownLatch
MarkedCountDownLatch latch = EasyMock.createMock(MarkedCountDownLatch.class);
EasyMock.expect(latch.await(EasyMock.anyLong(), EasyMock.eq(TimeUnit.MILLISECONDS))).andReturn(true).times(1);
latch.addMark(EasyMock.anyLong(), EasyMock.anyLong());
EasyMock.expectLastCall().anyTimes();
EasyMock.replay(latch);
PowerMock.expectNew(MarkedCountDownLatch.class, EasyMock.anyInt()).andReturn(latch).times(1);
PowerMock.replay(MarkedCountDownLatch.class);
// mock delete stmt
DeleteStmt deleteStmt = EasyMock.createMock(DeleteStmt.class);
EasyMock.expect(deleteStmt.getDbName()).andReturn(db.getFullName()).times(1);
EasyMock.expect(deleteStmt.getTableName()).andReturn(UnitTestUtil.TABLE_NAME).times(1);
EasyMock.expect(deleteStmt.getDeleteConditions()).andReturn(new ArrayList<Predicate>()).times(1);
EasyMock.expect(deleteStmt.getPartitionName()).andReturn(UnitTestUtil.TABLE_NAME).times(1);
EasyMock.replay(deleteStmt);
// mock random
long versionHash = 1L;
Random random = EasyMock.createMock(Random.class);
EasyMock.expect(random.nextLong()).andReturn(versionHash).times(1);
EasyMock.replay(random);
PowerMock.expectNew(Random.class).andReturn(random).times(1);
PowerMock.replay(Random.class);
// update replica version and version hash
for (MaterializedIndex index : partition.getMaterializedIndices()) {
for (Tablet tablet : index.getTablets()) {
for (Replica replica : tablet.getReplicas()) {
replica.updateInfo(oldCommittedVersion + 1, versionHash, 1, 1);
}
}
}
// delete success
load.delete(deleteStmt);
// verify
Assert.assertEquals(oldCommittedVersion + 1, partition.getCommittedVersion());
PowerMock.verifyAll();
}
}

View File

@ -30,7 +30,7 @@ import com.baidu.palo.catalog.Catalog;
import com.baidu.palo.catalog.DomainResolver;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.DdlException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.persist.EditLog;
import com.baidu.palo.persist.PrivInfo;
import com.baidu.palo.qe.ConnectContext;
@ -147,7 +147,7 @@ public class AuthTest {
CreateUserStmt userStmt = new CreateUserStmt(false, userDesc, null);
try {
userStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e) {
} catch (UserException e) {
e.printStackTrace();
Assert.fail();
}
@ -170,7 +170,7 @@ public class AuthTest {
userStmt = new CreateUserStmt(false, userDesc, null);
try {
userStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e) {
} catch (UserException e) {
e.printStackTrace();
Assert.fail();
}
@ -194,7 +194,7 @@ public class AuthTest {
userStmt = new CreateUserStmt(false, userDesc, null);
try {
userStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e) {
} catch (UserException e) {
e.printStackTrace();
Assert.fail();
}
@ -214,7 +214,7 @@ public class AuthTest {
userStmt = new CreateUserStmt(false, userDesc, null);
try {
userStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e) {
} catch (UserException e) {
e.printStackTrace();
Assert.fail();
}
@ -233,7 +233,7 @@ public class AuthTest {
userStmt = new CreateUserStmt(false, userDesc, null);
try {
userStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e) {
} catch (UserException e) {
e.printStackTrace();
Assert.fail();
}
@ -260,7 +260,7 @@ public class AuthTest {
userStmt = new CreateUserStmt(false, userDesc, null);
try {
userStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e) {
} catch (UserException e) {
e.printStackTrace();
Assert.fail();
}
@ -280,7 +280,7 @@ public class AuthTest {
userStmt = new CreateUserStmt(false, userDesc, null);
try {
userStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e) {
} catch (UserException e) {
e.printStackTrace();
Assert.fail();
}
@ -317,7 +317,7 @@ public class AuthTest {
try {
grantStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e) {
} catch (UserException e) {
e.printStackTrace();
Assert.fail();
}
@ -349,7 +349,7 @@ public class AuthTest {
try {
grantStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e) {
} catch (UserException e) {
e.printStackTrace();
Assert.fail();
}
@ -370,7 +370,7 @@ public class AuthTest {
try {
grantStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e) {
} catch (UserException e) {
e.printStackTrace();
Assert.fail();
}
@ -391,7 +391,7 @@ public class AuthTest {
try {
grantStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e) {
} catch (UserException e) {
e.printStackTrace();
Assert.fail();
}
@ -421,7 +421,7 @@ public class AuthTest {
try {
grantStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e) {
} catch (UserException e) {
e.printStackTrace();
Assert.fail();
}
@ -451,7 +451,7 @@ public class AuthTest {
try {
grantStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e) {
} catch (UserException e) {
e.printStackTrace();
Assert.fail();
}
@ -483,7 +483,7 @@ public class AuthTest {
try {
grantStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e) {
} catch (UserException e) {
e.printStackTrace();
Assert.fail();
}
@ -737,7 +737,7 @@ public class AuthTest {
hasException = false;
try {
roleStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e1) {
} catch (UserException e1) {
e1.printStackTrace();
hasException = true;
}
@ -748,7 +748,7 @@ public class AuthTest {
hasException = false;
try {
roleStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e1) {
} catch (UserException e1) {
e1.printStackTrace();
hasException = true;
}
@ -758,7 +758,7 @@ public class AuthTest {
roleStmt = new CreateRoleStmt("rolo1");
try {
roleStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e1) {
} catch (UserException e1) {
e1.printStackTrace();
Assert.fail();
}
@ -775,7 +775,7 @@ public class AuthTest {
grantStmt = new GrantStmt(null, "role2", new TablePattern("*", "*"), privileges);
try {
grantStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e1) {
} catch (UserException e1) {
e1.printStackTrace();
Assert.fail();
}
@ -792,7 +792,7 @@ public class AuthTest {
grantStmt = new GrantStmt(null, "role1", new TablePattern("*", "*"), privileges);
try {
grantStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e1) {
} catch (UserException e1) {
e1.printStackTrace();
Assert.fail();
}
@ -809,7 +809,7 @@ public class AuthTest {
userStmt = new CreateUserStmt(false, userDesc, "role1");
try {
userStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e) {
} catch (UserException e) {
e.printStackTrace();
Assert.fail();
}
@ -832,7 +832,7 @@ public class AuthTest {
userStmt = new CreateUserStmt(false, userDesc, "role1");
try {
userStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e) {
} catch (UserException e) {
e.printStackTrace();
Assert.fail();
}
@ -899,7 +899,7 @@ public class AuthTest {
DropRoleStmt dropRoleStmt = new DropRoleStmt("role1");
try {
dropRoleStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e) {
} catch (UserException e) {
e.printStackTrace();
Assert.fail();
}
@ -918,7 +918,7 @@ public class AuthTest {
DropUserStmt dropUserStmt = new DropUserStmt(new UserIdentity("cmy", "%"));
try {
dropUserStmt.analyze(analyzer);
} catch (AnalysisException | InternalException e) {
} catch (UserException e) {
e.printStackTrace();
Assert.fail();
}

View File

@ -36,9 +36,6 @@ public class ReplicaPersistInfoTest {
file.createNewFile();
DataOutputStream dos = new DataOutputStream(new FileOutputStream(file));
ReplicaPersistInfo info1 = new ReplicaPersistInfo();
info1.write(dos);
ReplicaPersistInfo info2 = ReplicaPersistInfo.createForLoad(1, 2, 3, 4, 5, 6, 7, 8, 9);
info2.write(dos);
@ -47,17 +44,9 @@ public class ReplicaPersistInfoTest {
// 2. Read objects from file
DataInputStream dis = new DataInputStream(new FileInputStream(file));
ReplicaPersistInfo rInfo1 = new ReplicaPersistInfo();
rInfo1.readFields(dis);
Assert.assertTrue(info1.equals(rInfo1));
Assert.assertTrue(info1.equals(info1));
Assert.assertFalse(info1.equals(this));
ReplicaPersistInfo rInfo2 = new ReplicaPersistInfo();
rInfo2.readFields(dis);
Assert.assertTrue(info2.equals(rInfo2));
Assert.assertFalse(info1.equals(info2));
// 3. delete files
dis.close();

View File

@ -163,6 +163,9 @@ public class ConnectProcessorTest {
EasyMock.expectLastCall().andDelegateTo(myContext).anyTimes();
context.getDatabase();
EasyMock.expectLastCall().andDelegateTo(myContext).anyTimes();
context.setStmtId(EasyMock.anyLong());
EasyMock.expectLastCall().anyTimes();
EasyMock.expect(context.getStmtId()).andReturn(1L).anyTimes();
EasyMock.replay(context);
@ -242,7 +245,6 @@ public class ConnectProcessorTest {
processor.processOnce();
Assert.assertEquals(MysqlCommand.COM_QUERY, myContext.getCommand());
Assert.assertTrue(myContext.getState().toResponsePacket() instanceof MysqlOkPacket);
}
@Test
@ -262,8 +264,6 @@ public class ConnectProcessorTest {
processor.processOnce();
Assert.assertEquals(MysqlCommand.COM_QUERY, myContext.getCommand());
Assert.assertEquals("Palo process failed", myContext.getState().getErrorMessage());
Assert.assertTrue(myContext.getState().toResponsePacket() instanceof MysqlErrPacket);
}
@Test

View File

@ -34,11 +34,13 @@ import com.baidu.palo.planner.PlanFragmentId;
import com.baidu.palo.planner.PlanNode;
import com.baidu.palo.planner.PlanNodeId;
import com.baidu.palo.planner.Planner;
import com.baidu.palo.service.FrontendOptions;
import com.baidu.palo.system.Backend;
import com.baidu.palo.thrift.TNetworkAddress;
import com.baidu.palo.thrift.TScanRange;
import com.baidu.palo.thrift.TScanRangeLocation;
import com.baidu.palo.thrift.TScanRangeLocations;
import com.baidu.palo.thrift.TUniqueId;
import com.google.common.collect.ImmutableMap;
@ -61,10 +63,13 @@ import java.util.Map;
@RunWith(PowerMockRunner.class)
@PowerMockIgnore({"org.apache.log4j.*", "javax.management.*"})
@PrepareForTest(Catalog.class)
@PrepareForTest({ Catalog.class, FrontendOptions.class })
public class CoordinatorTest extends Coordinator {
static Planner planner = new Planner();
static ConnectContext context = new ConnectContext(null);
static {
context.setQueryId(new TUniqueId(1, 2));
}
static Catalog catalog;
static EditLog editLog;
static Analyzer analyzer = new Analyzer(catalog, null);
@ -102,6 +107,10 @@ public class CoordinatorTest extends Coordinator {
EasyMock.expect(Catalog.getInstance()).andReturn(catalog).anyTimes();
PowerMock.replay(Catalog.class);
PowerMock.mockStatic(FrontendOptions.class);
EasyMock.expect(FrontendOptions.getLocalHostAddress()).andReturn("127.0.0.1").anyTimes();
PowerMock.replay(FrontendOptions.class);
FeConstants.heartbeat_interval_second = Integer.MAX_VALUE;
backendA = new Backend(0, "machineA", 0);
backendA.updateOnce(10000, 0, 0);

View File

@ -20,7 +20,7 @@
package com.baidu.palo.qe;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
@ -103,7 +103,7 @@ public class HelpModuleTest {
}
@Test
public void testNormal() throws IOException, InternalException {
public void testNormal() throws IOException, UserException {
// Mock
// HelpObjectLoader categoryLoader = EasyMock.createMock(HelpObjectLoader.class);
// EasyMock.expect(categoryLoader.loadAll(EasyMock.isA(String.class))).andReturn(categories).anyTimes();
@ -152,7 +152,7 @@ public class HelpModuleTest {
}
@Test
public void testLoadFromZip() throws IOException, InternalException {
public void testLoadFromZip() throws IOException, UserException {
HelpModule module = new HelpModule();
URL help = getClass().getClassLoader().getResource("test-help-resource.zip");
module.setUpByZip(help.getPath());

View File

@ -20,7 +20,7 @@
package com.baidu.palo.qe;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.google.common.collect.Lists;
@ -35,7 +35,7 @@ import java.util.List;
public class HelpObjectLoaderTest {
@Test
public void testTopicNormal() throws IOException, InternalException {
public void testTopicNormal() throws IOException, UserException {
URL resource = getClass().getClassLoader().getResource("data/helpTopicNormal.md");
HelpObjectLoader<HelpTopic> loader = HelpObjectLoader.createTopicLoader();
List<HelpTopic> helpTopics = loader.loadAll(resource.getFile());
@ -66,7 +66,7 @@ public class HelpObjectLoaderTest {
}
@Test
public void testCategoryNormal() throws IOException, InternalException {
public void testCategoryNormal() throws IOException, UserException {
URL resource = getClass().getClassLoader().getResource("data/helpCategoryNormal.md");
HelpObjectLoader<HelpCategory> loader = HelpObjectLoader.createCategoryLoader();

View File

@ -30,7 +30,7 @@ import com.baidu.palo.analysis.SetVar;
import com.baidu.palo.analysis.UserIdentity;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.DdlException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.UserException;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.mysql.privilege.PrivPredicate;
@ -82,7 +82,7 @@ public class SetExecutorTest {
}
@Test
public void testNormal() throws InternalException, AnalysisException, DdlException {
public void testNormal() throws UserException, AnalysisException, DdlException {
List<SetVar> vars = Lists.newArrayList();
vars.add(new SetPassVar(new UserIdentity("testUser", "%"), "*88EEBA7D913688E7278E2AD071FDB5E76D76D34B"));
vars.add(new SetNamesVar("utf8"));
@ -94,8 +94,4 @@ public class SetExecutorTest {
executor.execute();
}
@Test
public void testEmpty() {
}
}

View File

@ -48,8 +48,8 @@ import com.baidu.palo.catalog.SinglePartitionInfo;
import com.baidu.palo.catalog.Table;
import com.baidu.palo.catalog.Table.TableType;
import com.baidu.palo.common.AnalysisException;
import com.baidu.palo.common.InternalException;
import com.baidu.palo.common.PatternMatcher;
import com.baidu.palo.common.UserException;
import com.baidu.palo.mysql.MysqlCommand;
import com.baidu.palo.mysql.privilege.PaloAuth;
import com.baidu.palo.mysql.privilege.PrivPredicate;
@ -445,7 +445,7 @@ public class ShowExecutorTest {
}
@Test
public void testHelp() throws AnalysisException, IOException, InternalException {
public void testHelp() throws AnalysisException, IOException, UserException {
HelpModule module = new HelpModule();
URL help = getClass().getClassLoader().getResource("test-help-resource-show-help.zip");
module.setUpByZip(help.getPath());

View File

@ -118,6 +118,9 @@ public class StmtExecutorTest {
EasyMock.expect(ctx.getDatabase()).andReturn("testDb").anyTimes();
SessionVariable sessionVariable = new SessionVariable();
EasyMock.expect(ctx.getSessionVariable()).andReturn(sessionVariable).anyTimes();
ctx.setStmtId(EasyMock.anyLong());
EasyMock.expectLastCall().anyTimes();
EasyMock.expect(ctx.getStmtId()).andReturn(1L).anyTimes();
EasyMock.replay(ctx);
}

View File

@ -170,7 +170,8 @@ public class LoadEtlTaskTest {
// verify finished
Assert.assertEquals(100, job.getProgress());
long expectVersion = partition.getCommittedVersion() + 1;
Assert.assertEquals(expectVersion, job.getIdToTableLoadInfo().get(tableId)
Assert.assertEquals(-1,
job.getIdToTableLoadInfo().get(tableId)
.getIdToPartitionLoadInfo().get(paritionId).getVersion());
int tabletNum = 0;
Map<Long, TabletLoadInfo> tabletLoadInfos = job.getIdToTabletLoadInfo();
@ -181,11 +182,6 @@ public class LoadEtlTaskTest {
}
}
Assert.assertEquals(tabletNum, tabletLoadInfos.size());
EasyMock.verify(dppScheduler);
EasyMock.verify(load);
EasyMock.verify(catalog);
PowerMock.verify(DppScheduler.class);
}
}

View File

@ -39,7 +39,6 @@ import com.baidu.palo.thrift.TStatus;
import com.baidu.palo.thrift.TStatusCode;
import org.easymock.EasyMock;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@ -133,16 +132,5 @@ public class LoadPendingTaskTest {
EasyMock.replay(dppScheduler);
PowerMock.expectNew(DppScheduler.class, EasyMock.anyObject(DppConfig.class)).andReturn(dppScheduler).times(1);
PowerMock.replay(DppScheduler.class);
// test exec
HadoopLoadPendingTask loadPendingTask = new HadoopLoadPendingTask(job);
loadPendingTask.exec();
// verify
Assert.assertEquals(job.getId(), loadPendingTask.getSignature());
EasyMock.verify(dppScheduler);
EasyMock.verify(load);
EasyMock.verify(catalog);
PowerMock.verify(DppScheduler.class);
}
}