Data-Stash数据导出组件疑问解答

1、是否支持多群组数据导出?
支持,通过system.groupId = 1,2,3配置。为每一个群组都创建一个线程进行群组区块数据的获取、解析、保存。各类区块数据表都以群组号为前缀区分如:g1_block_detail_info,g2_block_detail_info 。而以数据仓库获取区块数据的形成不支持多群组数据导出。

2、 如果没有该合约的 abi 和 bin 信息,哪些数据能够被导出,哪些数据不能被导出?
能导出数据:

  • 区块原始数据表block_raw_data
  • 交易原始数据表tx_raw_data*
  • 交易回执原始数据表tx_receipt_raw_data
  • 区块详细数据表block_detail_info

不能被导出数据:

  • 区块交易数据表block_tx_detail_info
  • 合约信息表contract_info
  • 事件数据存储表合约名称_事件名称_event
  • 交易数据存储表合约名称_方法名称_method

3、数据导出组件使用elastic-job依赖中的curator版本与zookeeper版本冲突问题
2022-03-17 18:01:19.867 [main-EventThread] ERROR o.a.c.f.imps.CuratorFrameworkImpl - Background operation retry gave up
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss
at org.apache.zookeeper.KeeperException.create(KeeperException.java:102)
at org.apache.curator.framework.imps.CuratorFrameworkImpl.checkBackgroundRetry(CuratorFrameworkImpl.java:851)
at org.apache.curator.framework.imps.CuratorFrameworkImpl.processBackgroundOperation(CuratorFrameworkImpl.java:643)
at org.apache.curator.framework.imps.AddWatchBuilderImpl.lambda$performBackgroundOperation$1(AddWatchBuilderImpl.java:166)
at org.apache.zookeeper.ClientCnxn$EventThread.processEvent(ClientCnxn.java:722)
at org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:551)

elastic-job依赖中的curator版本为5.1.0版本需要使用zookeeper版本为3.7.0版本

4、多活部署如何解决应用程序挂掉异常?
程序中存在 BlockCheckService.checkTimeOut()方法,这个方法会从block_task_pool表 中找出五分钟以前的并且状态是 1(doing状态)的区块高度,将其状态改为3(timeout状态)接着BlockCheckService.processErrors()方法会从block_task_pool表中找出状态为3(timeout状态)或者4(error状态)的区块高度,删除该区块高度以保存数据并将其在block_task_pool表中的状态改为0(init状态)等待重新处理

posted @ 2022-07-17 12:56  java学习小白  阅读(190)  评论(0编辑  收藏  举报