Call for help: refactoring execution engine on unistore

Unistore is used inside TiDB as a replacement for TiKV when running TiDB in a standalone mode (for development and testing purpose), therefore, copr requests will be pushed to unistore in this case.

The current implementation of the copr execution framework on unistore is not ideal, it is neither vectorized nor well-structed.

In this topic, I want to call for help on refactoring it with the execution framework of TiDB. Note the copr framework in unistore already reused the expression calculation framework of TiDB, it won’t be too difficult to adapt the the existing execution framework.

For more information, please refer to

And you can reply directly on that issue if you have any questions (I tend to check github more often).


what is a standalone mode? tiup playground?

Maybe it means that running a TiDB instance locally without TiKV and pd.

1 Like

you can run tidb without PD and TiKV for development and debugging,

simply ./bin/tidb-server after make server would make it happen.

ok thanks, get it.
but the name a standalone mode seems kind of misleading, it let me think in this mode, i can treat tidb as a none-distruted database like mysql, and mature enhough to use in prod…

Let’s focus on the action and proposal and postpone the vocabulary problems.

looking forward to the refactoring, is there any update on the technical proposal?

I’m waiting for other contributors who wants to give a technical proposal. But if there is no one by the end of this week, I’ll come up with a proposal.

1 Like

I’ve created a design doc for this refactoring, see

1 Like

however, we need to decide on which solution to take, so I would ask @feitian124 if you would like to help fill in the design details for section Refine the existing executors of coprocessor

sorry for late reply. i had been blocked by a simple issue,
this task maybe too diffcult to me right now.

Hi all, I proposed the refactoring PR in, PTAL if you are interested. Feedbacks are welcomed!


I take much more time to make the tests pass than actual coding… Finally it can pass all the tests now!

1 Like