Git Product home page Git Product logo

trace_db's People

Contributors

geek-frio avatar

Watchers

 avatar

trace_db's Issues

DistQuery dumplicate records

目前无事务写入保障,会有如下问题

  • BatchRequest 会有部分成功和部分失败的情况
  • 客户端多次重试会导致重复结果落盘,查询结果得进行去重处理

Add local call request feature

增加本地调用的特性,服务在启动的时候会同时启动client和server的服务,对于自己调用自己的情况,是不需要走网络来进行的,这样就会受限于grpc stream的传输上限。

TagFsm init should be design

        let fsm = Box::new(TagFsm::new(r, None, engine));

        let state_cnt = Arc::new(AtomicUsize::new(0));
        let mailbox = BasicMailbox::new(s, fsm, state_cnt);

        let fsm = mailbox.take_fsm();
        if let Some(mut f) = fsm {
            f.set_mailbox(Cow::Borrowed(&mailbox));
            mailbox.release(f);
        }

现在的初始化方式是这样的,很难读懂这段代码到底在做什么事情。
(TagFsm和BatchSystem的实现是参考的tidb中的tikv的代码)

需要重新设计优化。

skdb::router::Router::send_msg exception control

skdb::router::Router::send_msg 的异常控制有问题:
异常情况一:Mailbox send failed;
异常情况二:不存在对应的Mailbox;

外部在报错时都会统一进行重建Index的处理。

解决方案:
在出现问题的时候,可以尝试重建TagFsmEngine。
需要drop之前创建过的Tantivy Index和Writer 资源。

  • Fix 未通过的单元测试Case
  • SendMsg Error的情况重建TagFsmEngine

Tracing Schema is fixed

Problems:

  1. Tracing Schema 是固定的格式,增加或者减少字段都需要改动代码
  2. 需要提供一个机制能够动态变更tracing的表结构(新增或者减少字段)

Integration test: Add multiple virtual server mock

  • skdb server 启动,配置支持环境变量启动方式
  • bug: "This happens because a function (like block_on) attempted to block the current thread while the thread is being used to drive asynchronous tasks.',"
  • mock 1-> N 调用的情况
  • #43

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.