jaeger使用yugabyte作为后端存储的尝试以及几个问题

前边写过使用scylladb 做为jaeger 的后端存储,还是一个不错选择的包括性能以及 兼容性,对于
yugabyte 当前存在兼容性的问题,需要版本的支持,或者尝试进行一些变动

create 语法的处理

  • 逗号
 
CREATE TYPE IF NOT EXISTS ${keyspace}.keyvalue (
    key text,
    value_type text,
    value_string text,
    value_bool boolean,
    value_long bigint,
    value_double double,
    value_binary blob,
);

需要删除末级的逗号

  • type 的问题
    type 这个对于当前的语法存在支持兼容性的问题
    错误信息如下:
 
CREATE TYPE IF NOT EXISTS ${keyspace}.log (
    ts bigint,
    fields list<frozen<keyvalue>>
); ... ... ... 
InvalidRequest: Error from server: code=2200 [Invalid query] message="Invalid Type Definition. UDT field types cannot be (un-frozen) collections
CREATE TYPE IF NOT EXISTS ${keyspace}.log (
    ts bigint,
               ^^^^
    fields list<frozen<keyvalue>>
^^^^^^
);
 (error -312)"
  

尝试的调整以及错误:

CREATE TYPE IF NOT EXISTS ${keyspace}.log (
    ts bigint,
    fields frozen<list<frozen<keyvalue>>>
);
        ... ... ... SyntaxException: Feature Not Supported. UDT field types cannot refer to other user-defined types
CREATE TYPE IF NOT EXISTS ${keyspace}.log (
    ts bigint,
            ^^^^
    fields frozen<list<frozen<keyvalue>>>
^^^^^^
);
 (error -14)

说明

目前尝试是失败的,但是后边还是可以再尝试,需要先看看jaeger 的存储处理,进行schema 的一些调整,当前官方也在计划
对于上边错误的实现,很期待可用。

参考资料

https://github.com/YugaByte/yugabyte-db/issues/1630
https://www.cnblogs.com/rongfengliang/p/11207556.html

上一篇:10.2模拟赛总结


下一篇:mybatis批量插入