【异常】我的业务数据怎么就插不进生产环境的TDEngine呢?原来是生产环境与沙箱环境数据库的表结构不一样导致的!

在处理业务数据插入TDengine时遇到问题,由于生产环境与沙箱环境数据库中表结构的extra_field字段长度不同,导致数据无法插入。通过定位代码、测试json长度及对比DDL语句,发现沙箱环境的extra_field长度为100,而生产环境为400,修正沙箱环境的DDL语句以匹配生产环境,解决了插入异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、异常说明

测试同学提了一个bug,说我某个埋点数据采集不到,我看了车机上报的eventCode,我的ELK是有正常显示啊,为啥数据库没有内容呢?带着疑惑,我开始溯源代码起来了

二、报错解释

以下是详细的定位问题的过程

(1)定位该埋点数据存在哪里

定位后发现,是处于时序数据库的这个表中cloud_music_media_player_to_play中

(2)查看插入TDengine的关键代码

发现这个是一个批量插入的操作,那么就很有可能是10+数据一起共同插入时序数据库中

(3) 调查这eventCode的上下文代码

经过排查,定位了到了上下文的日志,其中有个字段值看起来特别长,这些内容都来源于一个字段“extra_field”,会不会是这个问题导致的呢?

{
   
   \"play_source\":1,\"song_name\":\"少抽点烟\"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

本本本添哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值