9-TDengine低版本分页offset出现bug,如何平滑升级版本、迁移数据

总结

一般像这样的大企业都有好几轮面试,所以自己一定要花点时间去收集整理一下公司的背景,公司的企业文化,俗话说「知己知彼百战不殆」,不要盲目的去面试,还有很多人关心怎么去跟HR谈薪资。

这边给大家一个建议,如果你的理想薪资是30K,你完全可以跟HR谈33~35K,而不是一下子就把自己的底牌暴露了出来,不过肯定不能说的这么直接,比如原来你的公司是25K,你可以跟HR讲原来的薪资是多少,你们这边能给到我的是多少?你说我这边希望可以有一个20%涨薪。

最后再说几句关于招聘平台的,总之,简历投递给公司之前,请确认下这家公司到底咋样,先去百度了解下,别被坑了,每个平台都有一些居心不良的广告党等着你上钩,千万别上当!!!

Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。

还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书。
在这里插入图片描述

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

问题复现

前端页面点击不同页码后,表格的数据不变。。。

2021-09-10-PaginationBug.jpg

使用 SpringBoot 集成了 TDengine , MyBatisPlus 后,在对一些表中分页查询时,不同的 offset 竟然返回相同的值。检查了前后端参数数据交互,没啥问题;以下是 MyBatisPlus 关于表查询的前3页生成的SQL语句,拿着这些语句在 taos 客户端执行,竟然返回相同的数据!!神奇了~

SELECT ts,voltage,currente,temperature,sn,city,groupid FROM power WHERE sn = ‘1105’ AND ts BETWEEN '2021-09-07 09:15:11.138

’ AND ‘2021-09-07 10:15:11.138’ and groupid=2 LIMIT 10 offset 10;

SELECT ts,voltage,currente,temperature,sn,city,groupid FROM power WHERE sn = ‘1105’ AND ts BETWEEN '2021-09-07 09:15:11.138

’ AND ‘2021-09-07 10:15:11.138’ and groupid=2 LIMIT 10 offset 20;

SELECT ts,voltage,currente,temperature,sn,city,groupid FROM power WHERE sn = ‘1105’ AND ts BETWEEN '2021-09-07 09:15:11.138

’ AND ‘2021-09-07 10:15:11.138’ and groupid=2 LIMIT 10 offset 30;

也就是说 offset 在这里好像并没有起作用,经过反复检查代码与配置,并在官方的 Issues 中检索后,发现这可能是个bug,而且也有对应的PR,新版本可能已经解决了这个问题。那么就升级下版本试试?

主要有两大步骤:

  1. 升级服务端;

  2. 升级客户端;

版本升级:升级服务端

我这里从 2.1.2.0 升级为 2.2.0.0 版本。

为了防止数据丢失,虽然我放的都是测试数据(官方demo数据以及我自建的测试数据,数据量都是亿级别),不过还是对两台虚拟机做了快照,哈哈~

之前我的两台虚拟机上的 TDengine 已经建立了集群,不过在这次升级版本时,我并没有将第二台主机移出集群,一方面也是想看看 TDengine 在做这种版本升级时对已有的数据以及集群是怎么处理的,另一方面,毕竟做了快照,随时可以进行时光穿梭(论备份的重要性)。

  • 下载rpm

[root@hadoop1 local]# wget https://www.taosdata.com/assets-download/TDengine-server-2.2.0.0-Linux-x64.rpm

  • 第一台主机上的操作:

[root@hadoop1 ~]# taos --version

version: 2.1.2.0

停止旧版本taosd服务

[root@hadoop1 ~]# systemctl stop taosd

查看已安装的版本信息

[root@hadoop1 ~]# rpm -qa | grep tdengine

tdengine-2.1.2.0-3.x86_64

卸载旧版本

[root@hadoop1 ~]# rpm -e tdengine

TDengine is removed successfully!

警告:文件 /usr/local/taos/cfg/taos.cfg: 移除失败: 没有那个文件或目录

安装新版本

[root@hadoop1 local]# rpm -ivh TDengine-server-2.2.0.0-Linux-x64.rpm

启动新版本

[root@hadoop1 local]# systemctl start taosd

确认新版本服务状态

[root@hadoop1 local]# systemctl status taosd

● taosd.service - TDengine server service

Loaded: loaded (/etc/systemd/system/taosd.service; enabled; vendor preset: disabled)

Active: active (running) since 五 2021-09-10 10:42:11 CST; 1s ago

Process: 121891 ExecStartPre=/usr/local/taos/bin/startPre.sh (code=exited, status=0/SUCCESS)

Main PID: 121899 (taosd)

CGroup: /system.slice/taosd.service

└─121899 /usr/bin/taosd

9月 10 10:42:11 hadoop1 systemd[1]: Starting TDengine server service…

9月 10 10:42:11 hadoop1 systemd[1]: Started TDengine server service.

9月 10 10:42:11 hadoop1 TDengine:[121899]: Starting TDengine service…

9月 10 10:42:12 hadoop1 TDengine:[121899]: Started TDengine service successfully.

  • 第二台主机上的操作:

[root@hadoop2 ~]# taos --version

version: 2.1.2.0

停止旧版本taosd服务

[root@hadoop2 ~]# systemctl stop taosd

查看已安装的版本信息

[root@hadoop2 ~]# rpm -qa | grep tdengine

tdengine-2.1.2.0-3.x86_64

卸载旧版本

[root@hadoop2 ~]# rpm -e tdengine

TDengine is removed successfully!

警告:文件 /usr/local/taos/cfg/taos.cfg: 移除失败: 没有那个文件或目录

安装新版本

[root@hadoop2 local]# rpm -ivh TDengine-server-2.2.0.0-Linux-x64.rpm

启动新版本

[root@hadoop2 local]# systemctl start taosd

[root@hadoop2 local]# taos --version

version: 2.2.0.0

确认新版本服务状态

[root@hadoop2 local]# systemctl status taosd

● taosd.service - TDengine server service

Loaded: loaded (/etc/systemd/system/taosd.service; enabled; vendor preset: disabled)

Active: active (running) since 五 2021-09-10 10:45:29 CST; 14min ago

Process: 117249 ExecStartPre=/usr/local/taos/bin/startPre.sh (code=exited, status=0/SUCCESS)

最后

经过日积月累, 以下是小编归纳整理的深入了解Java虚拟机文档,希望可以帮助大家过关斩将顺利通过面试。
由于整个文档比较全面,内容比较多,篇幅不允许,下面以截图方式展示 。







由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!**

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值