Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Execute ddl statement diff from the studio #504

Closed
BOFA1ex opened this issue Jan 2, 2023 · 11 comments
Closed

Execute ddl statement diff from the studio #504

BOFA1ex opened this issue Jan 2, 2023 · 11 comments

Comments

@BOFA1ex
Copy link

BOFA1ex commented Jan 2, 2023

Describe the bug (required)

通过nebula-java 提交ddl语句,执行结果与预期不符合.
预期结果: 比如创建tag 指定属性A,B,C
执行结果: 创建tag, 多出了很多未指定的属性名.

运行相关截图:
image
这里创建了atestmertriccplt实体仅id,name属性
但是通过studio/console检查ddl的执行结果,发现创建的属性有很大的问题.
image

但是如果通过studio/console 提交ddl语句,执行结果与预期相符.
image
image

Your Environments (required)

  • OS: Linux big-dev2 3.10.0-1160.71.1.el7.x86_64 SMP Tue Jun 28 15:37:28 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
  • Nebula: 33fd35e
  • Commit id: 549d8fc

How To Reproduce(required)

nebula-java#3.0.0 版本提交创建tag语句, 与studio提交创建tag语句相比较即可.

create tag difftestmertriccplt (id FIXED_STRING(255) comment 'identify an entity',name FIXED_STRING(255) comment 'name an entity'); alter tag difftestmertriccplt comment = 'test';

Expected behavior

目前给出的信息来看, 需要nebula-java这边检查下是客户端的原因还是nebula的缺陷.
至少在studio的执行角度来看, nebula服务端没有问题.

Additional context

@Nicole00
Copy link
Contributor

Nicole00 commented Jan 3, 2023

你之前是不是有创建过同名的tag 又删除了?

你用java client 去执行下 查看tag的schema,是否也复现这个问题

@BOFA1ex
Copy link
Author

BOFA1ex commented Jan 3, 2023

我换了个绝对没有重复过的名称, 保证不存在之前创建过后删除的场景.
执行完create tag ... 语句后, 执行"desc tag ..." 语句依旧存在以上问题, 该问题的复现率很高, 也存在部分创建正确的案例.

补充说明:
同时也尝试了新增tag后删除再新增的情况, 如果第一次新增出现属性问题的tag, 经多次删除后新增, 依旧存在以上问题.
以及如果第一次新增没有出现属性问题的tag, 经多次删除后新增, 没有出现以上问题.

@Nicole00
Copy link
Contributor

Nicole00 commented Jan 3, 2023

好的,感谢补充信息。 我在本地多次操作没有复现出这个问题,也有可能是我们使用的版本不一致。
请问你用的 studio版本是多少?

@Nicole00
Copy link
Contributor

Nicole00 commented Jan 3, 2023

还有,”执行完create tag ... 语句后, 执行"desc tag ..." 语句依旧存在以上问题, 该问题的复现率很高, 也存在部分创建正确的案例.“ 这个都是在java client中操作的吗

@BOFA1ex
Copy link
Author

BOFA1ex commented Jan 3, 2023

A1: studio version: v3.2.0
A2: 是的, 如果通过studio/console去执行的话, 没有出现以上的情况.
是否有必要去检查下meta的日志, 我觉得直接检查ddl语句的执行日志更容易排查问题. 这一块的日志有关键字用于定位么?

@Nicole00
Copy link
Contributor

Nicole00 commented Jan 4, 2023

A1: studio version: v3.2.0 A2: 是的, 如果通过studio/console去执行的话, 没有出现以上的情况. 是否有必要去检查下meta的日志, 我觉得直接检查ddl语句的执行日志更容易排插问题. 这一块的日志有关键字用于定位么?

如果你是创建和查询tag都在client里面操作且都能复现,那和studio没关系的。 你有查看你创建tag的请求的响应结果吗,结果是成功的吗?
你可以在client里面把创tag的语句加上 IF NOT EXISTS: create tag IF NOT EXISTS xxx()

@BOFA1ex
Copy link
Author

BOFA1ex commented Jan 8, 2023

如果你是创建和查询tag都在client里面操作且都能复现,那和studio没关系的

至少目前线上能得到反馈是, studio/console 提交执行和 sdk 提交执行 响应结果不一致.

你有查看你创建tag的请求的响应结果吗,结果是成功的吗?

检查过了的, 通过远程debug线上环境, 看到ResultSet#isSucceeded 是执行成功的.

你可以在client里面把创tag的语句加上 IF NOT EXISTS: create tag IF NOT EXISTS xxx()

补充这个 fragment是必要的吗,对执行有特别的影响吗?
如果存在脏数据,提交(create tag ...) 执行,nebula服务端抛出异常会更合理.

@Nicole00
Copy link
Contributor

Nicole00 commented Jan 8, 2023

这个问题还是第一次遇到,确定连接的是同一个服务吧, 还有检查下你的线上环境中不存在其他版本的client的jar包。

我在本地没有复现的,需要和其他同学再看看还需要什么信息。

@YetAlpha
Copy link

还有什么办法能排查呢?是否能通过某些日志来排查呢?

@Nicole00
Copy link
Contributor

分别提供在java client和console中执行 show hosts graph 命令的结果,确认下连接的服务是否是同一套集群

@QingZ11
Copy link

QingZ11 commented Mar 31, 2023

@YetAlpha @BOFA1ex 这个 issue 超过一个月没有更新内容了,这边先行关闭了。如果你有任何更新的内容,可以再打开这个 issue 哈。

谢谢你的反馈 😊

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants