Search in sources :

Example 1 with ITISCoordinator

use of com.qlangtech.tis.cloud.ITISCoordinator in project plugins by qlangtech.

the class TestLocalTableDumpAndIndex method startIndexBuild.

public void startIndexBuild(String solrCoreName, IJoinTaskContext execContext, ITISCoordinator zkCoordinator, String timePoint) throws Exception {
    LocalIndexBuilderTriggerFactory builderTriggerFactory = new LocalIndexBuilderTriggerFactory();
    File localOfflineDir = LocalTableDumpFactory.getLocalOfflineRootDir();
    String indexName = ITestDumpCommon.INDEX_COLLECTION;
    String groupNum = "0";
    Integer taskId = 123;
    ITISFileSystem fileSystem = builderTriggerFactory.getFileSystem();
    ImportDataProcessInfo buildParam = new ImportDataProcessInfo(taskId, fileSystem, zkCoordinator);
    buildParam.setIndexName(indexName);
    MockDataSourceFactory employeesDataSource = MockDataSourceFactory.getMockEmployeesDataSource();
    List<ColumnMetaData> eployeeTableMeta = employeesDataSource.getTableMetadata(TABLE_EMPLOYEES);
    String colsLiteria = eployeeTableMeta.stream().map((c) -> c.getKey()).collect(Collectors.joining(","));
    buildParam.setBuildTableTitleItems(colsLiteria);
    SnapshotDomain snapshot = com.qlangtech.tis.manage.common.SnapshotDomainUtils.mockEmployeeSnapshotDomain();
    snapshot.writeResource2fs(fileSystem, buildParam.getCoreName(Integer.parseInt(groupNum)), ConfigFileReader.FILE_SCHEMA);
    snapshot.writeResource2fs(fileSystem, buildParam.getCoreName(Integer.parseInt(groupNum)), ConfigFileReader.FILE_SOLR);
    IRemoteJobTrigger buildJob = builderTriggerFactory.createBuildJob(execContext, timePoint, indexName, groupNum, buildParam);
    buildJob.submitJob();
    /**
     * -----------------------------------------------------------
     * 开始执行索引build
     *         -----------------------------------------------------------
     */
    TestLocalTableDumpAndIndex.waitJobTerminatorAndAssert(buildJob);
    // long hdfsTimeStamp, String hdfsUser, SolrCore core, File indexDir, SolrQueryResponse rsp, String taskId
    indexFlowback2SolrEngineNode(solrCoreName, timePoint, localOfflineDir, taskId);
}
Also used : IRemoteJobTrigger(com.qlangtech.tis.fullbuild.indexbuild.IRemoteJobTrigger) TaskContext(com.qlangtech.tis.fullbuild.indexbuild.TaskContext) ConfigFileReader(com.qlangtech.tis.manage.common.ConfigFileReader) Date(java.util.Date) ColumnMetaData(com.qlangtech.tis.plugin.ds.ColumnMetaData) TISTestCase(com.qlangtech.tis.test.TISTestCase) ITableDumpConstant(com.qlangtech.tis.order.dump.task.ITableDumpConstant) ITISCoordinator(com.qlangtech.tis.cloud.ITISCoordinator) ITISFileSystem(com.qlangtech.tis.fs.ITISFileSystem) MockTaskContextUtils(com.qlangtech.tis.fullbuild.indexbuild.MockTaskContextUtils) DataSourceFactory(com.qlangtech.tis.plugin.ds.DataSourceFactory) MockTisCoreAdminHandler(org.apache.solr.handler.admin.MockTisCoreAdminHandler) ITestDumpCommon(com.qlangtech.tis.order.dump.task.ITestDumpCommon) IJoinTaskContext(com.qlangtech.tis.order.center.IJoinTaskContext) MockDataSourceFactory(com.qlangtech.tis.order.dump.task.MockDataSourceFactory) Set(java.util.Set) FileUtils(org.apache.commons.io.FileUtils) IOException(java.io.IOException) EasyMock(org.easymock.EasyMock) Collectors(java.util.stream.Collectors) Sets(com.google.common.collect.Sets) File(java.io.File) MockZKUtils(com.qlangtech.tis.cloud.MockZKUtils) TimeUnit(java.util.concurrent.TimeUnit) LocalIndexBuilderTriggerFactory(com.qlangtech.tis.indexbuild.LocalIndexBuilderTriggerFactory) CountDownLatch(java.util.concurrent.CountDownLatch) Queues(com.google.common.collect.Queues) LocalTableDumpFactory(com.qlangtech.tis.dump.LocalTableDumpFactory) IParamContext(com.qlangtech.tis.order.center.IParamContext) SolrQueryResponse(org.apache.solr.response.SolrQueryResponse) List(java.util.List) SnapshotDomain(com.qlangtech.tis.manage.common.SnapshotDomain) RunningStatus(com.qlangtech.tis.fullbuild.indexbuild.RunningStatus) ArrayDeque(java.util.ArrayDeque) ImportDataProcessInfo(com.qlangtech.tis.trigger.jst.ImportDataProcessInfo) IRemoteJobTrigger(com.qlangtech.tis.fullbuild.indexbuild.IRemoteJobTrigger) SnapshotDomain(com.qlangtech.tis.manage.common.SnapshotDomain) LocalIndexBuilderTriggerFactory(com.qlangtech.tis.indexbuild.LocalIndexBuilderTriggerFactory) ITISFileSystem(com.qlangtech.tis.fs.ITISFileSystem) ImportDataProcessInfo(com.qlangtech.tis.trigger.jst.ImportDataProcessInfo) MockDataSourceFactory(com.qlangtech.tis.order.dump.task.MockDataSourceFactory) ColumnMetaData(com.qlangtech.tis.plugin.ds.ColumnMetaData) File(java.io.File)

Example 2 with ITISCoordinator

use of com.qlangtech.tis.cloud.ITISCoordinator in project tis by qlangtech.

the class TestCollectionAction method testDeleteCollection.

public void testDeleteCollection() throws Exception {
    ITISCoordinator zkCoordinator = MockZKUtils.createZkMock();
    MockZooKeeperGetter.mockCoordinator = zkCoordinator;
    // createCoordinatorMock((r) -> {
    // });
    request.setParameter("emethod", "deleteIndex");
    request.setParameter("action", "collection_action");
    JSONObject content = new JSONObject();
    // search4search4employees
    content.put(CollectionAction.KEY_INDEX_NAME, TEST_TABLE_EMPLOYEES_NAME);
    request.setContent(content.toJSONString().getBytes(TisUTF8.get()));
    ActionProxy proxy = getActionProxy();
    this.replay();
    String result = proxy.execute();
    assertEquals("CollectionAction_ajax", result);
    AjaxValve.ActionExecResult aResult = showBizResult();
    assertNotNull(aResult);
    assertTrue(aResult.isSuccess());
    this.verifyAll();
}
Also used : ITISCoordinator(com.qlangtech.tis.cloud.ITISCoordinator) ActionProxy(com.opensymphony.xwork2.ActionProxy) JSONObject(com.alibaba.fastjson.JSONObject) AjaxValve(com.qlangtech.tis.manage.common.valve.AjaxValve)

Example 3 with ITISCoordinator

use of com.qlangtech.tis.cloud.ITISCoordinator in project tis by qlangtech.

the class TestCoreAction method testTriggerFullbuildTaskByWithoutDefinePrimaryTable.

/**
 * 执行索引全量构建过程中,测试ERRule没有定义主表,会导致final表的分区函数无法正常创建,需要主动抛出一个异常
 */
public void testTriggerFullbuildTaskByWithoutDefinePrimaryTable() throws Exception {
    TableMeta tableMeta = new TableMeta(totalpayinfo.getTableName(), null);
    HttpUtils.addMockApply(-1, "tis-assemble/trigger", "assemble.trigger.result.faild.json", TestCoreAction.class);
    ITISCoordinator zkCoordinator = MockZKUtils.createZkMock();
    MockZooKeeperGetter.mockCoordinator = zkCoordinator;
    // this.createCoordinatorMock(false, (zk) -> {
    // });
    triggerFullbuildTask(tableMeta, (aResult) -> {
        assertFalse(aResult.isSuccess());
        List<String> errorMsgs = aResult.getErrorMsgs();
        assertNotNull(errorMsgs);
        assertTrue(errorMsgs.size() > 0);
    });
}
Also used : ITISCoordinator(com.qlangtech.tis.cloud.ITISCoordinator) TableMeta(com.qlangtech.tis.sql.parser.er.TableMeta) PrimaryTableMeta(com.qlangtech.tis.sql.parser.er.PrimaryTableMeta)

Example 4 with ITISCoordinator

use of com.qlangtech.tis.cloud.ITISCoordinator in project tis by qlangtech.

the class TestCoreAction method testTriggerFullbuildTask.

/**
 * 触发全量构建
 */
public void testTriggerFullbuildTask() throws Exception {
    TableMeta tableMeta = new TableMeta(totalpayinfo.getTableName(), "entity_id");
    ITISCoordinator zkCoordinator = MockZKUtils.createZkMock();
    MockZooKeeperGetter.mockCoordinator = zkCoordinator;
    HttpUtils.addMockApply(-1, "tis-assemble/trigger", "assemble.trigger.result.success.json", TestCoreAction.class);
    // this.createCoordinatorMock(false, (zk) -> {
    // TestCollectionAction.createAssembleLogCollectPathMock(zk);
    // });
    triggerFullbuildTask(tableMeta, (aResult) -> {
        assertTrue(aResult.isSuccess());
        org.json.JSONObject biz = (org.json.JSONObject) aResult.getBizResult();
        assertEquals(1234, biz.getInt(IParamContext.KEY_TASK_ID));
    });
}
Also used : ITISCoordinator(com.qlangtech.tis.cloud.ITISCoordinator) TableMeta(com.qlangtech.tis.sql.parser.er.TableMeta) PrimaryTableMeta(com.qlangtech.tis.sql.parser.er.PrimaryTableMeta)

Example 5 with ITISCoordinator

use of com.qlangtech.tis.cloud.ITISCoordinator in project tis by qlangtech.

the class TestAddAppAction method testDoCreateCollection.

/**
 * 测试创建
 *
 * @throws Exception
 */
public void testDoCreateCollection() throws Exception {
    request.setParameter("emethod", "create_collection");
    request.setParameter("action", "add_app_action");
    try (InputStream content = this.getClass().getResourceAsStream("create_confirm_index_http_body.json")) {
        assertNotNull(content);
        request.setContent(IOUtils.toByteArray(content));
    }
    ITISCoordinator zkCoordinator = MockZKUtils.createZkMock();
    MockZooKeeperGetter.mockCoordinator = zkCoordinator;
    setCollection(TestSchemaAction.collection);
    ActionProxy proxy = getActionProxy();
    replay();
    String result = proxy.execute();
    assertEquals("AddAppAction_ajax", result);
    AjaxValve.ActionExecResult aResult = showBizResult();
    assertNotNull(aResult);
    assertTrue(aResult.isSuccess());
    verifyAll();
    IAppSource appSource = IAppSource.load(null, TestSchemaAction.collection);
    assertTrue(appSource instanceof SingleTableAppSource);
}
Also used : ITISCoordinator(com.qlangtech.tis.cloud.ITISCoordinator) ActionProxy(com.opensymphony.xwork2.ActionProxy) InputStream(java.io.InputStream) IAppSource(com.qlangtech.tis.manage.IAppSource) SingleTableAppSource(com.qlangtech.tis.manage.impl.SingleTableAppSource) AjaxValve(com.qlangtech.tis.manage.common.valve.AjaxValve)

Aggregations

ITISCoordinator (com.qlangtech.tis.cloud.ITISCoordinator)15 ActionProxy (com.opensymphony.xwork2.ActionProxy)4 AjaxValve (com.qlangtech.tis.manage.common.valve.AjaxValve)4 List (java.util.List)4 JSONObject (com.alibaba.fastjson.JSONObject)3 AdapterTisCoordinator (com.qlangtech.tis.cloud.AdapterTisCoordinator)2 MockZKUtils (com.qlangtech.tis.cloud.MockZKUtils)2 CoreAction (com.qlangtech.tis.coredefine.module.action.CoreAction)2 LocalTableDumpFactory (com.qlangtech.tis.dump.LocalTableDumpFactory)2 TaskContext (com.qlangtech.tis.fullbuild.indexbuild.TaskContext)2 TisException (com.qlangtech.tis.lang.TisException)2 IJoinTaskContext (com.qlangtech.tis.order.center.IJoinTaskContext)2 IParamContext (com.qlangtech.tis.order.center.IParamContext)2 MockDataSourceFactory (com.qlangtech.tis.order.dump.task.MockDataSourceFactory)2 DataSourceFactory (com.qlangtech.tis.plugin.ds.DataSourceFactory)2 PrimaryTableMeta (com.qlangtech.tis.sql.parser.er.PrimaryTableMeta)2 TableMeta (com.qlangtech.tis.sql.parser.er.TableMeta)2 IOException (java.io.IOException)2 JSONArray (com.alibaba.fastjson.JSONArray)1 Maps (com.google.common.collect.Maps)1