Skip to content

修正两个bug#56

Closed
suxi wants to merge 12 commits intodotnetcore:developfrom
suxi:develop
Closed

修正两个bug#56
suxi wants to merge 12 commits intodotnetcore:developfrom
suxi:develop

Conversation

@suxi
Copy link

@suxi suxi commented Nov 21, 2017

  1. last_insert_id()返回上次成功update的id的问题
    2.收到没有订阅的消息会index越界的问题

suxi added 2 commits November 21, 2017 19:08
此问题会造成同一条消息(publish或者received)反复被加入到表queue中
@yang-xiaodong
Copy link
Member

你好,感谢你的PR。

针对第二个提交 “2.收到没有订阅的消息会index越界的问题”
什么情况下会接收到没有subscriber的topic呢?因为启动的时候是根据subscriber订阅的topic

@suxi
Copy link
Author

suxi commented Nov 21, 2017

按道理应该是按topic,但是我收到了我没有订阅的消息
我用的是docker组成的环境
rabbit:
image: rabbitmq:3-management
hostname: my-rabbit
ports:
- "15672:15672"
mysql:
image: mysql/mysql-server:5.6
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_ROOT_HOST=%
我使用的docker环境,重现方式是

  1. 在同一个controller里发送一个“xxx”的topic,同时注册一个“xxx”的topic的消费函数,运行确认“xxx”topic消息能够收到
  2. 去掉这个“xxx”的消费函数,在发送“xxx”的topic的消息
  3. 异常发生

运行项目是docker环境的 microsoft/aspnetcore:2.0

追记:
初步判断是表cap.received中未成功的消息在尝试重发造成consumerclient收到未注册的消息

再记:
rabbitmq的queue和exchange都是持久化的,没有解绑过程是不是也是一个问题?

@yang-xiaodong
Copy link
Member

@suxi

last_insert_id()返回上次成功update的id的问题

你在测试的过程中遇到这个问题了么? LAST_INSERT_ID() 在每个connection是不会共享的,而我们使用的时候每个查询都是创建了一个新的connection,理论上应该不会出现上次id的情况。

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

Successfully merging this pull request may close these issues.

2 participants