Commit graph

81 commits

Author SHA1 Message Date
Yihao Deng
bcabf3536a
feat: support BLOB data type (#31704) 2025-07-17 14:17:47 +08:00
Bomin Zhang
876979b5f5
feat[ts-6107]: shared storage (#31552)
* add API to use s3 as shared storage

* support using local file system as shared storage

* upload file to shared storage

* support read, compact and drop

* finish basic mnode & vnode msg processing

* follower sync migration state

* implement mnode transaction, and improve log

* send migration progress msg to dnode to avoid deadlock

* implement following migration

* remove mcount

* avoid redo migration on startup

* avoid follower deadlock when leader is down

* trigger migrate by timer,  avoid compact after migration

* comment out the usage of 'tcs' functions in stream

* change config item prefix from s3 to ss

* change db option prefix from s3 to ss

* rename s3 data struct, function, file to ss

* rename s3 macro to ss

* update s3 sql to ss

* rename remaining s3 items to ss

* check ss configruation, improve s3 retry

* grant object storage -> shared storage,  check ssEnabled

* fix memory leaks

* update build options

* omit sensitive information when dump config

* fix backward compatibility issue

* fix issues found in ci-checks

* fix some failed test cases

* avoid follower timeout and improve log

* fix: follower timeout because migration status not updated

* refuse migration if there's an in progress one

* fix ss test case

* remove garbage files and other minor improvement

* fix failed test cases

* update unit test

* fix failed test case

* fix failed test case

* update document

* update document and fix failed test cases

* fix minor issues in code, test and document

* check new commit after migration task is scheduled

* fix several issus

1. migrate information cannot be dropped sometimes because progress response was put into read queue.
2. memory leak in rare cases
3. data corruption in rare cases
4. failed test case

* add shared storage upgrade tool

* fix compile error
2025-07-14 16:33:53 +08:00
Minglei Jin
66c4ef3e90
feat(mqtt): mqtt subscription (#30127)
* feat(mqtt): Initial commit for mqtt

* chore(xnode/mnd): xnode message handlers for mnode

* chore(mnd/xnode): mnode part for xnode

* chore(xnode/translater): fix show commands

* fix(ast/creater): fix xnode create option

* fix(xnode/ci): fix ci & doc's error codes

* chore(xnode/sql): make create/drop/show work properly

* fix(xnode/sql): commit new files

* fix(xnode/sql): commit cmake files

* fix: fix testing cases

* fix(xnode/tsc): fix tokens

* fix(ast/anode): fix anode update decl.

* fix(xnode/error): fix xnode error codes

* fix: xnode make/destroy

* chore: xnode with option & dnode id

* chore: use taosmqtt for xnode

* chore: new error code for xnode launching

* chore(xnode): new error code

* chore: header for _xnode_mgmt_mqtt

* chore: source for _xnode_mgmt_mqtt

* chore: remove test directory from cmake

* chore: remove taosmqtt for ci to compile

* chore: remove taosudf header from xnode

* chore: new window macro

* chore: remove xnode mgmt mqtt for windows compilation

* Revert "chore: remove xnode mgmt mqtt for windows compilation"

This reverts commit 197e1640c7.

* chore: cleanup code

* chore: xnode mgmt comment windows part out

* chore: mgmt/mqtt, move uv head toppest

* xnode/mnode: create xnode once per dnode

* fix(xnode/systable/test): fix column count

* xnode/sdb: renumber sdb type for xnode to make start/stop order correct

* xnode/mqtt: new param mqttPort

* fix SXnode's struct type

* transfer dnode id to mqtt subscription

* tmqtt: remove uv_a linking

* tmqtt/tools: sources for tools

* tools: fix windows compilation

* tools/producer: fix windows sleep param

* tools/producer: fix uninited var rc

* make tools only for linux

* test/mnodes: wail 1 or 2 seconds for offline to be leader

* update topic producer tool for geometry data type testing

* format tool sql statements

* show xnodes' ep

* make shell auto complete xnodes

* use usleep instead of sleep

* mqtt/proto: first version mqtt protocol

* remove assert styles

* build with linux only

* fix libuv for taosmqtt building

* fix log printing

* mem: use ttq_ prefix instead of tmqtt

* xnode/parser/proto: protocol option for xnode

* xnode/translater/option: translate xnode option proto

* xnode/translator: translate proto param

* xnode/tmsg: encode/decode proto param

* xnode/mnode: proto parma for mndXnode

* xnode/proto: protocol param for xnode

* xnode/mqtt: save/load proto from xnode json

* rename tmqtt proto header

* rename head directories

* rename header name styles

* restyle func names

* update

* update

* use camel db

* use camel for cxt

* update count of information_schema

* fix exceptional cases

* fix w.r.t reviews

* fixes w.r.t reviews

* use ttq_free

* append xnode msgs

* update information schema count

* support tmq meta data sub

* success typo fix

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix error line var w.r.t. suggestions from copilot

* denote mqtt node with bnode instead of xnode

* smoke testing for mqtt

* soak testing

* new package for test framework: paho 2.1.0

* import mqtt into util

* fix soak testing

* test/soak: user 5 topics per client

* test/soak: cover qos

* update docker image references to tdengine-ci:0.1 in CI scripts and common.py

* refactor: rename bnode msg to backup node

* refactor: rename xnode to bnode 1

* refactor: rename xnode to bnode 2

* refactor: rename xnode to bnode 3

* refactor: rename xnode to bnode 4

* refactor: rename xnode to bnode 4

* refactor: rename xnode to bnode 5

* refactor: rename xnode to bnode 6

* refactor: rename some files 1

* refactor: rename some files 2

* refactor: rename some files 3

* refactor: rename some files 4

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: chenhaoran <haoran920c@163.com>
Co-authored-by: Simon Guan <guanshengliang@qq.com>
2025-06-25 14:58:51 +08:00
Kaili Xu
13f9bddf3d
feat: support customized taos/taosd (#29736)
* feat: support TDAcoreOS

* chore: cmake options for TD_ACORE

* chore: disable lemon for TD_ACORE

* chore: add lzma2 and msvcregex

* chore: cmake for lzma2

* chore: adapt for TD_ACORE

* chore: adapt strcasecmp for TD_ACORE

* chore: adapt for geos/threadName

* chore: build adapt for TD_ACORE

* chore: build adapt for TD_ACORE

* chore: build adapt for TD_ACORE

* chore: build adapt for TD_ACORE

* chore: build adapt for TD_ACORE termio

* chore: refact transComm.h for TD_ACORE

* chore: refact transportInt.h for TD_ACORE

* chore: refact trans.c for TD_ACORE

* chore: refact trpc.h for TD_ACORE

* chore: refact transCli.c/transComm.c/transSvr.c for TD_ACORE

* chore: refact uv.h for TD_ACORE

* chore: refact geosWrapper.h for TD_ACORE

* chore: refact token/builtins/udf for TD_ACORE

* chore: refact rocks for TD_ACORE

* chore: refact tsdbCache.c for TD_ACORE, use LRU cache for last/last_row, not use rocksdb

* chore: refact FAIL to _ERR to solve conflicts for TD_ACORE

* chore: restore lemon.c/lempar.c

* chore: support build lemon for TD_ACORE

* chore: refact trpc and siginfo_t for TD_ACORE

* chore: refact timezone for TD_ACORE

* chore: refact lz4 for TD_ACORE

* chore: refact TD_ACORE to make compile pass

* chore: code optimization for TD_ASTRA

* feat: support run taos with taosd integrated

* feat: support invoke taos shell

* feat: support invoke taos shell

* feat: support invoke taos shell

* chore: code optimization

* chore: fix undefined reference problem os TD_ASTRA

* chore: resolve compile problem for TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix undefined reference problem os TD_ASTRA

* chore: fix getpid

* chore: fix typo

* chore: set stack size and ajust min pack size for TD_ASTRA

* chore: fix pthread create parameters

* chore: chmod adapt for TD_ASTRA

* chore: fix trans compile problem

* chore: adapt chmod for TD_ASTRA

* chore: byte alignment for TD_ASTRA

* chore: more code for adaption of TD_ASTRA

* chore: more code for adaption of TD_ASTRA

* chore: more code for adaption of TD_ASTRA

* chore: byte alignment for TD_ASTRA

* chore: conditional compile option

* chore: adapt for TD_ASTRA

* chore: adjust taosPId and msvcregex for TD_ASTRA

* chore: log dir separator for wal build name

* chore: fix type of pointer parameter

* chore: fix compile problem of tsdbGetS3Size

* enh: get last ver from wal log for TD_ASTRA

* enh: refact wal meta ver

* enh: refact wal meta ver

* fix: typo of taosUcs4Compare

* enh: process return value of CI

* chore: more code for TD_ASTRA adaption

* chore: return value of taosCloseFile in walMeta.c

* chore: fix compile problem

* chore: fix compile problem of TD_ASTRA

* fix: update macro for tq and stream task

* chore: code optimization for TD_ASTRA

* chore: restore create log and init cfg interface

* chore: restore strncasecmp and strcasecmp

* fix: adjust the field position of SDataBlockInfo

* fix: pragma pack min size

* fix: pragma pack min size

* chore: more code for TD_ASTRA adaption

* fix: type of parameters

* chore: adapt strncasecmp and strcasecmp for TD_ASTRA

* chore: restore interface of init log

* enh: pack push optimization

* fix: taos init cfg

* add astra support

* fix: fetch the value of suid

* chore: switch of  build with udf

* add temp code

* chore: more code for TD_ASTRA adaption

* chore: add macro ERRNO to replace errno

* chore: bytes align for TD_ASTRA

* fix: remove obsolete codes

* enh: support USE_UDF macro

* fix compile error

* fix: resolve redefinition problem

* fix: compile problem of log.cpp

* fix: compile problem of osTimezone

* fix: resolve compile problem of udf

* fix: pragma definition on windows

* fix: ucs4 and stpncpy for TD_ASTRA

* fix: memory align problem for TD_ASTRA

* enh: solve memory leak for TD_ASTRA_RPC

* fix: compile problem of taosSetInt64Aligned

* fix: restore mndSubscribe.c

* fix: scalar for udf

* chore: code adaption for TD_ASTRA

* chore: code optimization for TD_ASTRA

* fix: typo of add definition

* fix: typo of macro in tudf.h

* chore: remove void to make CI pass

* enh: move macro from cmake.platform to cmake.options

* enh: byte align for hash node and error code

* chore: restore the size for lru cache

* enh: restore some code about pack push

* chore: restore the pack push in tmsg.h

* fix: add macro of pack pop for windows

---------

Co-authored-by: yihaoDeng <luomoxyz@126.com>
2025-03-14 13:32:13 +08:00
Simon Guan
b91dd10846 enh: add log level to each log entry 2025-02-27 09:55:11 +08:00
Jinqing Kuang
eb5d463490 feat(stream)[TS-5469]. add support for window event notifications in stream processing
- Introduce new syntax to specify notification type and destination address
- Collect relevant event information during window computations
- Implement websocket-based notification delivery to the specified address
2025-01-21 17:39:46 +08:00
factosea
2d99f1833e crash log: safe code 2025-01-10 06:09:55 +08:00
facetosea
1e269c8dd6 fix: test case 2025-01-09 10:56:20 +08:00
factosea
893e7c1af4 fix: write crash log in new thread 2025-01-09 10:00:43 +08:00
dapan1121
d77147d296 Merge remote-tracking branch 'origin/3.0' into feat/TD-30268 2024-12-06 17:43:19 +08:00
kailixu
57afdc6612 fix: compile problem of log rotate on windows 2024-12-01 14:51:12 +08:00
kailixu
76aea0ddb9 enh: log rotate logic 2024-12-01 13:12:32 +08:00
kailixu
b4e6e2dfa8 enh: support specify log output by -o option 2024-11-29 13:40:33 +08:00
dapan1121
30eb4b2633 fix: job retry issue 2024-11-27 09:50:00 +08:00
yihaoDeng
b523cf8802 fix:conflicts from 3.0 2024-10-28 17:34:20 +08:00
Minglei Jin
fe8b6c823e
Merge branch '3.0' into feat/TS-5215-2 2024-10-22 10:12:34 +08:00
Minglei Jin
eeab3a8a8b az/log: use az prefix log instead of u-prefixed ones 2024-10-18 08:44:38 +08:00
wangmm0220
4f39974938 enh:[TS-5441] cost too long in tmq write meta data by cache meta and vg info 2024-10-16 17:17:44 +08:00
Shengliang Guan
adbea71230 refact: adjust forecast paras such as wncheck 2024-10-15 16:00:07 +08:00
wangmm0220
88f8f62f87 enh:[TD-30270]opti data struct in tmq 2024-09-10 15:11:43 +08:00
wangmm0220
e7b990f3dd feat:[TS-3718]merge from 3.0 2024-08-08 17:35:24 +08:00
Shengliang Guan
d55a0c7100 enh: enable log in udf 2024-08-08 16:18:18 +08:00
wangmm0220
4d19f48d8a feat:[TS-3718]save slow log file one day one file 2024-08-02 16:29:48 +08:00
Minglei Jin
0fa44fe8cf fix(tsdb/commit): make commit failing core in release buildings 2024-07-03 16:40:54 +08:00
dm chen
39f2e75a9e
Merge branch '3.0' into feat/TD-26529-3.0 2024-01-04 15:46:23 +08:00
Shungang Li
de631e20a5 fix: refactor logdebugs 2024-01-03 19:57:22 +08:00
wangmm0220
8a9ded764d fix:add finish history msg to snode 2023-11-15 11:50:14 +08:00
dmchen
dec257ff59 TD-26529 2023-10-23 08:59:54 +00:00
Haojun Liao
6633fb971b fix(stream): update logs. 2023-09-20 18:18:31 +08:00
Haojun Liao
7ef16e1922 other: merge main. 2023-05-12 11:49:53 +08:00
dapan1121
9551a269b3 feat: support log slow query by default 2023-04-24 16:45:34 +08:00
Haojun Liao
a69e2a8045 fix(os): fix the link error in unit test cases. 2023-04-19 15:33:02 +08:00
Hongze Cheng
765ff98f6a fix: compact wrong data count 2023-02-24 14:41:23 +08:00
Haojun Liao
1354eac985 Merge branch 'main' into feature/3_liaohj 2023-01-10 13:21:49 +08:00
Haojun Liao
d8dd3d44af refactor: do some internal refactor. 2023-01-06 13:21:06 +08:00
dapan1121
ac7d250a7f Merge remote-tracking branch 'origin' into enh/TD-21108 2023-01-04 08:57:22 +08:00
Haojun Liao
28bccd21a9 refactor: disable all asserts. 2023-01-03 09:47:01 +08:00
dapan1121
b8cbc93584 Merge remote-tracking branch 'origin' into enh/TD-21108 2022-12-30 17:38:38 +08:00
dapan1121
dfefb68aa6 feat: support crash report 2022-12-30 13:30:54 +08:00
Shengliang Guan
2cbbc88937 enh: speed assert in release mode 2022-12-30 11:14:31 +08:00
dapan1121
08e6d9a264 enh: write coredump bt to log file 2022-12-23 09:22:14 +08:00
Shengliang Guan
1c04c97362 refact: rename taosAssert 2022-12-08 09:11:14 +08:00
Shengliang Guan
1bb1025f7d enh: add tassert 2022-12-07 22:24:47 +08:00
Shengliang Guan
6d94afe48f
Revert "refact: adjust some assert cases" 2022-12-07 21:51:17 +08:00
Shengliang Guan
f69a188f7e refact: replcase ASSERT with tAssert 2022-12-07 18:37:40 +08:00
Shengliang Guan
9b793fd1e6 refact: adjust some assert cases 2022-12-07 17:21:24 +08:00
Shengliang Guan
e7ee48fd38 enh: add tassert funcs 2022-12-07 16:06:07 +08:00
Shengliang Guan
bed6874174 enh: add tassert 2022-12-07 13:46:53 +08:00
Minglei Jin
7974d672b4 fix: make tdbDebugFlag work 2022-07-26 17:46:47 +08:00
Shengliang Guan
49c42ef289 fix: compile error in unitest 2022-07-25 17:39:05 +08:00