0
点赞
收藏
分享

微信扫一扫

【TcaplusDB知识库】表操作—如何查询事务详情

查询指定事务的详细信息,目前只支持查询加表、变更表、删除表、清空表、复制表数据五种事务的查询,其沿用加表、修改表、清理表、删除表、复制表数据的权限。

请求地址

GET/POST
http://OmsAddress/app/newoms.php/webservice/oamp/transaction/detail/<set_id>/<trans_id>?cmd=cmdVal&ip-type=webservicerest&access-token=AccessTokenVal

url中GET参数说明

参数名称数据类型说明是否必填字段备注
set_id整型事务所在的集群的id
trans_id整型事务的id
cmd(cmdVal)整型接口类型 查询加表事务:cmd=10002 查询修改表事务:cmd=10003 查询清理表事务:cmd=10004 查询删除表事务:cmd=10005 查询复制表数据事务:cmd=10008 (表、进程)数据备份cmd:10009 表数据构造cmd:10011 机器数据构造cmd:10012 数据导入事务cmd:10013 索引事务务cmd:10022

POST请求参数说明

参数名称数据类型说明是否必填字段备注
get_action整型(0、1)是否返回事务的action列表。0:不返回;1:返回。oms:3.38.1

Data参数

使用json格式表示记录相关信息,示例如下:

{
    "get_action": 0
}

返回语法

返回参数说明

  1. 返回状态码不为200时,获取信息失败,返回数据为错误信息

  2. 返回状态码为200,表示成功获取事务详情

事务各字段说明

字段名称字段类型字段含义
Iduint32事务id
SetIduint32事务所在集群的set id
AppIdint32app id ,部分类型的事务的app id无意义,也没有值
ZoneIdint32zone id,部分类型的事务的zone id无意义,也没有值
Typeuint32事务类型
Statusuint32状态码 ,各状态码含义见本接口的“事务状态(status)列表,及使用webservice接口可实现的状态转化”说明
CanRedotinyint能否重做
CanSuspendtinyint能否挂起
CanRollbacktinyint能否回滚
Reasonuint32状态原因码
Numuint32涉及的资源数目
IdNamestring表名、进程ID、节点名称等信息
Datastring数据信息
Memostring备注信息
CreateUserstring事务创建者
CreateTimedatetime事务创建时间
UpdateTimedatetime事务更新时间
ExtendInfostring对于扩容/缩容事务,该字段保存CleanShardData事务的ID,对于CleanShardData事务,该字段保存扩容/缩容的事务ID,如cmId=72415;其他用法自行定义
MaxConcurrentCountuint32事务内最大并行action数, 最大值为10

事务的action的各字段说明

字段名称字段类型字段含义
TransIduint32action所属事务的事务id
Iduint32action id
AppIdint32app id
ZoneIdint32zone id
Typeuint32action类型
Statusuint32状态码 ,各状态码含义如下: Status = 1:初始化中 Status = 2:资源就绪,待执行 Status = 3:执行中 Status = 4:挂起 Status = 5:回滚中 Status = 6:完成 Status = 7:已结束 Status = 8:待恢复 Status = 9:跳过
Reasonuint32状态原因码
Numuint32涉及的资源数目
IdNamestring表操作存表名;进程操作存进程id
Datastring数据信息
Contextstringaction运行时的上下文信息
CreateTimedatetime创建时间
ExecuteTimedatetime执行时间
UpdateTimedatetime更新时间

事务状态(status)列表,及使用webservice接口可实现的状态转化

状态a状态a可转化的状态b状态a => 状态b使用的oms的接口
待点击执行(Status = 1)等待执行队列中;异常结束执行事务(webservice可调用);异常结束事务(webservice不可调用)
等待执行队列中(Status = 2)
执行前准备中(Status = 3)
执行中(Status = 4)挂起挂起事务(webservice不可调用)
挂起中(Status = 5)待恢复;异常结束恢复事务(webservice可调用);异常结束事务
待恢复(Status = 6)
待回滚(Status = 7)
回滚中(Status = 8)异常结束异常结束事务
已成功完成(Status = 9),此状态为事务结束状态,不能再进行相关操作
异常结束(Status = 10),此状态为事务结束状态,不能再进行相关操作
已暂停(Status = 1000)

请求示例

通过 curl 方法发起请求

命令中的红色部分是需要用户自行填写的参数,请参阅url中GET参数说明

返回示例

成功返回示例

http请求的Status=200

1.成功查询加表事务的详情的用例

{
    "Id": 300,
    "AppId": 2,
    "ZoneId": 5,
    "Type": 283,
    "Status": 9,
    "Reason": 0,
    "Num": 0,
    "IdName": "add_table350",
    "Data": "proxy@;tcapsvr@master#1",
    "Memo": "AddTableManual",
    "CreateUser": "tcaplus",
    "CreateTime": "2021-07-23 16:17:20",
    "UpdateTime": "2021-07-23 16:17:47",
    "CanRedo": 1,
    "CanSuspend": 1,
    "CanRollback": 1,
    "SetId": 1,
    "ExtendInfo": "",
    "MaxConcurrentCount": 10,
    "StatusText": "已成功完成"
}

2.成功查询修改表事务的详情的用例

{
    "Id": 405,
    "AppId": 2,
    "ZoneId": 3,
    "Type": 281,
    "Status": 10,
    "CanRedo": 1,
    "CanSuspend": 1,
    "CanRol lback": 1,
    "Reason": 2,
    "Num": 0,
    "IdName": "test_table_generic_modify",
    "Data": "fc448894b1fc2e22ece9a6873b33c7b6",
    "Memo": "ModifyTable",
    "CreateUser": "tcaplus",
    "CreateTime": "2017-03-02 21:38:30",
    "UpdateTime": "2017-03-02 21:41:37",
    "SetId": 126,
    "ExtendInfo": "",
    "MaxConcurrentCount": 10
}

3.成功查询清理表事务的详情的用例

{
    "Id": 408,
    "AppId": 2,
    "ZoneId": 3,
    "Type": 279,
    "Status": 9,
    "CanRedo": 1,
    "CanSuspend": 1,
    "CanRollback": 1,
    "Reason": 0,
    "Num": 0,
    "IdName": "test_table_generic_modify",
    "Data": "",
    "Memo": "TruncateTable",
    "CreateUser": "tcaplus",
    "CreateTime": "2017-03-02 21:57:56",
    "UpdateTime": "2017-03-02 22:00:29",
    "SetId": 126,
    "ExtendInfo": "",
    "MaxConcurrentCount": 10
}

4.成功查询删除表事务的详情的用例

{
    "Id": 411,
    "AppId": 2,
    "ZoneId": 3,
    "Type": 363,
    "Status": 9,
    "CanRedo": 1,
    "CanSuspend": 1,
    "CanRollback": 1,
    "Reason": 0,
    "Num": 0,
    "IdName": "test_table_generic_modify",
    "Data": "",
    "Memo": "DeleteTable",
    "CreateUser": "tcaplus",
    "CreateTime": "2017-03-02 22:12:49",
    "UpdateTime": "2017-03-02 22:17:38",
    "SetId": 126,
    "ExtendInfo": "",
    "MaxConcurrentCount": 10
}

错误返回

http请求的Status!=200

{
    "name": "Unauthorized",
    "message": "You are requesting with an invalid credential.",
    "code": 0,
    "status": 401,
    "type": "yii\\web UnauthorizedHttpException"
}
{
    "trans_id": [
        "for the cmd(cmd:10004),can only get those transaction of which type is in 279,type of transaction(id:411) is 363"
    ]
}

TcaplusDB是腾讯出品的分布式NoSQL数据库,存储和调度的代码完全自研。具备缓存+落地融合架构、PB级存储、毫秒级时延、无损水平扩展和复杂数据结构等特性。同时具备丰富的生态、便捷的迁移、极低的运维成本和五个九高可用等特点。客户覆盖游戏、互联网、政务、金融、制造和物联网等领域。

举报

相关推荐

0 条评论