首先要说明的时,这是“测试时”。生产环境不一定会遇到。
用postman往chproxy地址插入数据,但发现经常插不进去:
POST模式:
http://192.168.1.23:9290?user=rw&query=insert into default.test2node_shard values ('b1'),('b2'),('b3'),('b4'),('b5'),('b6'),('b7'),('b8'),('b9'),('b10')
放到dbeaver中执行,却又可以成功。
后来查看日志,发现有异常信息:
2020.04.22 16:18:19.374614 [ 102 ] {1608074492EA380A} <Information> default.test2node_shard (Replicated OutputStream): Block with ID all_5255902047431862338_8669483995812049532 already exists; ignoring it.
想必是重复操作时,同样的一组values,生成的block ID 也是一样的。改一改测试值就可以插进去了。
题外话:
关于postman,就算选了post模式,它也默认是拼接parameters,把query等参数也接到了URL上。执行没有问题,但会受取URL长度的限制。长度最长是16K字节。需要把数据放到body中发送。
默认的:
放body中: