Merge branch '3.0' of https://github.com/taosdata/TDengine into refact/tsdb_last

This commit is contained in:
Hongze Cheng 2022-08-16 17:18:21 +08:00
commit 208b179726
6 changed files with 44 additions and 43 deletions

View File

@ -11,14 +11,11 @@ import PkgListV3 from "/components/PkgListV3";
## 安装 ## 安装
:::info
下载其他组件、最新 Beta 版及之前版本的安装包,请点击[发布历史页面](../../releases)
:::
<Tabs> <Tabs>
<TabItem label="Deb 安装" value="debinst"> <TabItem label="Deb 安装" value="debinst">
1. 从 [发布历史页面](../../releases) 下载获得 deb 安装包,例如 TDengine-server-3.0.0.0-Linux-x64.deb 1. 从列表中下载获得 deb 安装包,例如 TDengine-server-3.0.0.0-Linux-x64.deb
<PkgListV3 type={6}/>
2. 进入到 TDengine-server-3.0.0.0-Linux-x64.deb 安装包所在目录,执行如下的安装命令: 2. 进入到 TDengine-server-3.0.0.0-Linux-x64.deb 安装包所在目录,执行如下的安装命令:
```bash ```bash
@ -29,7 +26,8 @@ sudo dpkg -i TDengine-server-3.0.0.0-Linux-x64.deb
<TabItem label="RPM 安装" value="rpminst"> <TabItem label="RPM 安装" value="rpminst">
1. 从 [发布历史页面](../../releases) 下载获得 rpm 安装包,例如 TDengine-server-3.0.0.0-Linux-x64.rpm 1. 从列表中下载获得 rpm 安装包,例如 TDengine-server-3.0.0.0-Linux-x64.rpm
<PkgListV3 type={5}/>
2. 进入到 TDengine-server-3.0.0.0-Linux-x64.rpm 安装包所在目录,执行如下的安装命令: 2. 进入到 TDengine-server-3.0.0.0-Linux-x64.rpm 安装包所在目录,执行如下的安装命令:
```bash ```bash
@ -60,11 +58,10 @@ install.sh 安装脚本在执行过程中,会通过命令行交互界面询问
</TabItem> </TabItem>
<TabItem label="Windows 安装" value="windows"> <TabItem label="Windows 安装" value="windows">
<PkgListV3 type={3}/>
1. 从 [发布历史页面](../../releases) 下载获得 exe 安装程序,例如 TDengine-server-3.0.0.0-Windows-x64.exe 1. 从列表中下载获得 exe 安装程序,例如 TDengine-server-3.0.0.0-Windows-x64.exe
<PkgListV3 type={3}/>
2. 运行 TDengine-server-3.0.0.0-Windows-x64.exe 来安装 TDengine。 2. 运行 TDengine-server-3.0.0.0-Windows-x64.exe 来安装 TDengine。
</TabItem> </TabItem>
@ -99,6 +96,10 @@ apt-get 方式只适用于 Debian 或 Ubuntu 系统
</TabItem> </TabItem>
</Tabs> </Tabs>
:::info
下载其他组件、最新 Beta 版及之前版本的安装包,请点击[发布历史页面](../../releases)
:::
:::note :::note
当安装第一个节点时,出现 Enter FQDN提示的时候不需要输入任何内容。只有当安装第二个或以后更多的节点时才需要输入已有集群中任何一个可用节点的 FQDN支持该新节点加入集群。当然也可以不输入而是在新节点启动前配置到新节点的配置文件中。 当安装第一个节点时,出现 Enter FQDN提示的时候不需要输入任何内容。只有当安装第二个或以后更多的节点时才需要输入已有集群中任何一个可用节点的 FQDN支持该新节点加入集群。当然也可以不输入而是在新节点启动前配置到新节点的配置文件中。

View File

@ -90,6 +90,7 @@ void close() throws SQLException;
</TabItem> </TabItem>
<TabItem value="Python" label="Python"> <TabItem value="Python" label="Python">
```python ```python
class TaosConsumer(): class TaosConsumer():
def __init__(self, *topics, **configs) def __init__(self, *topics, **configs)
@ -108,7 +109,9 @@ class TaosConsumer():
def __del__(self) def __del__(self)
``` ```
</TabItem> </TabItem>
<TabItem label="Go" value="Go"> <TabItem label="Go" value="Go">
```go ```go
@ -126,6 +129,7 @@ func (c *Consumer) Subscribe(topics []string) error
func (c *Consumer) Unsubscribe() error func (c *Consumer) Unsubscribe() error
``` ```
</TabItem> </TabItem>
<TabItem value="C#" label="C#"> <TabItem value="C#" label="C#">
@ -150,8 +154,8 @@ void Unsubscribe()
void Commit(ConsumeResult consumerResult) void Commit(ConsumeResult consumerResult)
void Close() void Close()
``` ```
</TabItem> </TabItem>
</Tabs> </Tabs>
@ -393,6 +397,7 @@ var cfg = new ConsumerConfig
var consumer = new ConsumerBuilder(cfg).Build(); var consumer = new ConsumerBuilder(cfg).Build();
``` ```
</TabItem> </TabItem>
</Tabs> </Tabs>
@ -441,7 +446,6 @@ if err != nil {
</TabItem> </TabItem>
<TabItem value="C#" label="C#"> <TabItem value="C#" label="C#">
```C# ```C#
@ -454,15 +458,12 @@ consumer.Subscribe(topics);
</TabItem> </TabItem>
<TabItem value="Python" label="Python"> <TabItem value="Python" label="Python">
```python ```python
consumer = TaosConsumer('topic_ctb_column', group_id='vg2') consumer = TaosConsumer('topic_ctb_column', group_id='vg2')
``` ```
</TabItem> </TabItem>
</Tabs> </Tabs>
## 消费 ## 消费
@ -504,7 +505,6 @@ for msg in consumer:
``` ```
</TabItem> </TabItem>
<TabItem value="Go" label="Go"> <TabItem value="Go" label="Go">
```go ```go
@ -520,7 +520,6 @@ for {
``` ```
</TabItem> </TabItem>
</Tabs>
<TabItem value="C#" label="C#"> <TabItem value="C#" label="C#">
@ -538,7 +537,6 @@ while (true)
</TabItem> </TabItem>
</Tabs> </Tabs>
## 结束消费 ## 结束消费
消费结束后,应当取消订阅。 消费结束后,应当取消订阅。
@ -575,6 +573,9 @@ consumer.unsubscribe();
/* 关闭消费 */ /* 关闭消费 */
consumer.close(); consumer.close();
</TabItem>
<TabItem value="Go" label="Go"> <TabItem value="Go" label="Go">
```go ```go
@ -590,6 +591,7 @@ consumer.Unsubscribe();
// 关闭消费 // 关闭消费
consumer.Close(); consumer.Close();
```
</TabItem> </TabItem>
</Tabs> </Tabs>

View File

@ -17,7 +17,7 @@
#include "tmsg.h" #include "tmsg.h"
#include "tq.h" #include "tq.h"
int32_t tdBuildDeleteReq(SVnode* pVnode, const char* stbFullName, const SSDataBlock* pDataBlock, int32_t tqBuildDeleteReq(SVnode* pVnode, const char* stbFullName, const SSDataBlock* pDataBlock,
SBatchDeleteReq* deleteReq) { SBatchDeleteReq* deleteReq) {
ASSERT(pDataBlock->info.type == STREAM_DELETE_RESULT); ASSERT(pDataBlock->info.type == STREAM_DELETE_RESULT);
int32_t totRow = pDataBlock->info.rows; int32_t totRow = pDataBlock->info.rows;
@ -68,9 +68,10 @@ SSubmitReq* tqBlockToSubmit(SVnode* pVnode, const SArray* pBlocks, const STSchem
SSDataBlock* pDataBlock = taosArrayGet(pBlocks, i); SSDataBlock* pDataBlock = taosArrayGet(pBlocks, i);
if (pDataBlock->info.type == STREAM_DELETE_RESULT) { if (pDataBlock->info.type == STREAM_DELETE_RESULT) {
int32_t padding1 = 0; int32_t padding1 = 0;
void* padding2 = taosMemoryMalloc(1); void* padding2 = NULL;
taosArrayPush(schemaReqSz, &padding1); taosArrayPush(schemaReqSz, &padding1);
taosArrayPush(schemaReqs, &padding2); taosArrayPush(schemaReqs, &padding2);
continue;
} }
STagVal tagVal = { STagVal tagVal = {
@ -138,8 +139,7 @@ SSubmitReq* tqBlockToSubmit(SVnode* pVnode, const SArray* pBlocks, const STSchem
continue; continue;
} }
int32_t rows = pDataBlock->info.rows; int32_t rows = pDataBlock->info.rows;
// TODO min /*int32_t rowSize = pDataBlock->info.rowSize;*/
int32_t rowSize = pDataBlock->info.rowSize;
int32_t maxLen = TD_ROW_MAX_BYTES_FROM_SCHEMA(pTSchema); int32_t maxLen = TD_ROW_MAX_BYTES_FROM_SCHEMA(pTSchema);
int32_t schemaLen = 0; int32_t schemaLen = 0;
@ -150,7 +150,6 @@ SSubmitReq* tqBlockToSubmit(SVnode* pVnode, const SArray* pBlocks, const STSchem
} }
// assign data // assign data
// TODO
ret = rpcMallocCont(cap); ret = rpcMallocCont(cap);
ret->header.vgId = pVnode->config.vgId; ret->header.vgId = pVnode->config.vgId;
ret->length = sizeof(SSubmitReq); ret->length = sizeof(SSubmitReq);
@ -161,13 +160,12 @@ SSubmitReq* tqBlockToSubmit(SVnode* pVnode, const SArray* pBlocks, const STSchem
SSDataBlock* pDataBlock = taosArrayGet(pBlocks, i); SSDataBlock* pDataBlock = taosArrayGet(pBlocks, i);
if (pDataBlock->info.type == STREAM_DELETE_RESULT) { if (pDataBlock->info.type == STREAM_DELETE_RESULT) {
pDeleteReq->suid = suid; pDeleteReq->suid = suid;
tdBuildDeleteReq(pVnode, stbFullName, pDataBlock, pDeleteReq); tqBuildDeleteReq(pVnode, stbFullName, pDataBlock, pDeleteReq);
continue; continue;
} }
blkHead->numOfRows = htonl(pDataBlock->info.rows); blkHead->numOfRows = htonl(pDataBlock->info.rows);
blkHead->sversion = htonl(pTSchema->version); blkHead->sversion = htonl(pTSchema->version);
// TODO
blkHead->suid = htobe64(suid); blkHead->suid = htobe64(suid);
// uid is assigned by vnode // uid is assigned by vnode
blkHead->uid = 0; blkHead->uid = 0;

View File

@ -192,9 +192,9 @@ int32_t tsdbDeleteTableData(STsdb *pTsdb, int64_t version, tb_uid_t suid, tb_uid
tsdbCacheDeleteLast(pTsdb->lruCache, pTbData->uid, eKey); tsdbCacheDeleteLast(pTsdb->lruCache, pTbData->uid, eKey);
} }
tsdbError("vgId:%d, delete data from table suid:%" PRId64 " uid:%" PRId64 " skey:%" PRId64 " eKey:%" PRId64 tsdbInfo("vgId:%d, delete data from table suid:%" PRId64 " uid:%" PRId64 " skey:%" PRId64 " eKey:%" PRId64
" since %s", " since %s",
TD_VID(pTsdb->pVnode), suid, uid, sKey, eKey, tstrerror(code)); TD_VID(pTsdb->pVnode), suid, uid, sKey, eKey, tstrerror(code));
return code; return code;
_err: _err:

View File

@ -237,8 +237,8 @@
./test.sh -f tsim/stream/distributeInterval0.sim ./test.sh -f tsim/stream/distributeInterval0.sim
./test.sh -f tsim/stream/distributeIntervalRetrive0.sim ./test.sh -f tsim/stream/distributeIntervalRetrive0.sim
./test.sh -f tsim/stream/distributeSession0.sim ./test.sh -f tsim/stream/distributeSession0.sim
#./test.sh -f tsim/stream/session0.sim ./test.sh -f tsim/stream/session0.sim
#./test.sh -f tsim/stream/session1.sim ./test.sh -f tsim/stream/session1.sim
./test.sh -f tsim/stream/state0.sim ./test.sh -f tsim/stream/state0.sim
./test.sh -f tsim/stream/triggerInterval0.sim ./test.sh -f tsim/stream/triggerInterval0.sim
./test.sh -f tsim/stream/triggerSession0.sim ./test.sh -f tsim/stream/triggerSession0.sim

View File

@ -83,22 +83,22 @@ if $data11 != 3 then
goto loop0 goto loop0
endi endi
if $data12 != NULL then if $data12 != 10 then
print ======data12=$data12 print ======data12=$data12
goto loop0 goto loop0
endi endi
if $data13 != NULL then if $data13 != 10 then
print ======data13=$data13 print ======data13=$data13
goto loop0 goto loop0
endi endi
if $data14 != NULL then if $data14 != 1.100000000 then
print ======data14=$data14 print ======data14=$data14
return -1 return -1
endi endi
if $data15 != NULL then if $data15 != 0.000000000 then
print ======data15=$data15 print ======data15=$data15
return -1 return -1
endi endi
@ -141,38 +141,38 @@ if $data01 != 7 then
goto loop1 goto loop1
endi endi
if $data02 != NULL then if $data02 != 18 then
print =====data02=$data02 print =====data02=$data02
goto loop1 goto loop1
endi endi
if $data03 != NULL then if $data03 != 4 then
print =====data03=$data03 print =====data03=$data03
goto loop1 goto loop1
endi endi
if $data04 != NULL then if $data04 != 1.000000000 then
print ======$data04 print ======data04=$data04
return -1 return -1
endi endi
if $data05 != NULL then if $data05 != 1.154700538 then
print ======$data05 print ======data05=$data05
return -1 return -1
endi endi
if $data06 != 4 then if $data06 != 4 then
print ======$data06 print ======data06=$data06
return -1 return -1
endi endi
if $data07 != 1.000000000 then if $data07 != 1.000000000 then
print ======$data07 print ======data07=$data07
return -1 return -1
endi endi
if $data08 != 13 then if $data08 != 13 then
print ======$data08 print ======data08=$data08
return -1 return -1
endi endi