Shichangkuo
2016-Mar-15 01:55 UTC
[Ocfs2-devel] Could the master return DLM_NORMAL when unlock nonexistent locks from other node?
Hi all,
When NodeA want to unlock lock-res1, and it send message to NodeB, but in
NodeB any lock queues (granted, converting, blocked) could not find this lock
for some unknown reason, then NodeB reply DLM_IVLOCKID.
In this situation, NodeA bug. The detail is described as follows.
NODEA NODEB
ocfs2_drop_lock
ocfs2_dlm_unlock
o2cb_dlm_unlock
dlmunlock
dlmunlock_remote ----> send message to master
dlm_unlock_lock_handler
return DLM_IVLOCKID
BUG()
I think it's no nessary to let NodeA bug, it just like we removed an
nonexistent file.
Could NodeB return DLM_NORMAL?
Thanks
Changkuo
_______________________________________________
Ocfs2-devel mailing list
Ocfs2-devel at oss.oracle.com
https://oss.oracle.com/mailman/listinfo/ocfs2-devel
-------------------------------------------------------------------------------------------------------------------------------------
????????????????????????????????????????
????????????????????????????????????????
????????????????????????????????????????
???
This e-mail and its attachments contain confidential information from H3C, which
is
intended only for the person or entity whose address is listed above. Any use of
the
information contained herein in any way (including, but not limited to, total or
partial
disclosure, reproduction, or dissemination) by persons other than the intended
recipient(s) is prohibited. If you receive this e-mail in error, please notify
the sender
by phone or email immediately and delete it!
Joseph Qi
2016-Mar-15 02:32 UTC
[Ocfs2-devel] Could the master return DLM_NORMAL when unlock nonexistent locks from other node?
Hi Changkuo, I don't agree with you. The case you described is a real bug. From the description, I think it's a race that leads Node B has already purged the lockres, while Node A still thinks it is already there. So IMO, we have to figure out why can it happen, but not treat it as normal. Thanks, Joseph On 2016/3/15 9:55, Shichangkuo wrote:> Hi all, > When NodeA want to unlock lock-res1, and it send message to NodeB, but in NodeB any lock queues (granted, converting, blocked) could not find this lock for some unknown reason, then NodeB reply DLM_IVLOCKID. > In this situation, NodeA bug. The detail is described as follows. > > NODEA NODEB > ocfs2_drop_lock > ocfs2_dlm_unlock > o2cb_dlm_unlock > dlmunlock > dlmunlock_remote ----> send message to master > dlm_unlock_lock_handler > return DLM_IVLOCKID > BUG() > > I think it's no nessary to let NodeA bug, it just like we removed an nonexistent file. > Could NodeB return DLM_NORMAL? > > Thanks > Changkuo > _______________________________________________ > Ocfs2-devel mailing list > Ocfs2-devel at oss.oracle.com > https://oss.oracle.com/mailman/listinfo/ocfs2-devel > ------------------------------------------------------------------------------------------------------------------------------------- > ???????????????????????????????????????? > ???????????????????????????????????????? > ???????????????????????????????????????? > ??? > This e-mail and its attachments contain confidential information from H3C, which is > intended only for the person or entity whose address is listed above. Any use of the > information contained herein in any way (including, but not limited to, total or partial > disclosure, reproduction, or dissemination) by persons other than the intended > recipient(s) is prohibited. If you receive this e-mail in error, please notify the sender > by phone or email immediately and delete it! > _______________________________________________ > Ocfs2-devel mailing list > Ocfs2-devel at oss.oracle.com > https://oss.oracle.com/mailman/listinfo/ocfs2-devel >
Gang He
2016-Mar-15 02:34 UTC
[Ocfs2-devel] Could the master return DLM_NORMAL when unlock nonexistent locks from other node?
Hi Changkuo, From your description, the concern looks to make sense. Could you reproduce this issue? if yes, I think we should adjust this logic more quickly. Thanks Gang>>> > Hi all, > When NodeA want to unlock lock-res1, and it send message to NodeB, but > in NodeB any lock queues (granted, converting, blocked) could not find this > lock for some unknown reason, then NodeB reply DLM_IVLOCKID. > In this situation, NodeA bug. The detail is described as follows. > > NODEA NODEB > ocfs2_drop_lock > ocfs2_dlm_unlock > o2cb_dlm_unlock > dlmunlock > dlmunlock_remote ----> send message to master > dlm_unlock_lock_handler > return DLM_IVLOCKID > BUG() > > I think it's no nessary to let NodeA bug, it just like we removed an > nonexistent file. > Could NodeB return DLM_NORMAL? > > Thanks > Changkuo > _______________________________________________ > Ocfs2-devel mailing list > Ocfs2-devel at oss.oracle.com > https://oss.oracle.com/mailman/listinfo/ocfs2-devel > ---------------------------------------------------------------------------- > --------------------------------------------------------- > ???????????????????????????????????????? > ???????????????????????????????????????? > ???????????????????????????????????????? > ?? > This e-mail and its attachments contain confidential information from H3C, > which is > intended only for the person or entity whose address is listed above. Any > use of the > information contained herein in any way (including, but not limited to, > total or partial > disclosure, reproduction, or dissemination) by persons other than the > intended > recipient(s) is prohibited. If you receive this e-mail in error, please > notify the sender > by phone or email immediately and delete it! > _______________________________________________ > Ocfs2-devel mailing list > Ocfs2-devel at oss.oracle.com > https://oss.oracle.com/mailman/listinfo/ocfs2-devel
Junxiao Bi
2016-Mar-17 01:15 UTC
[Ocfs2-devel] Could the master return DLM_NORMAL when unlock nonexistent locks from other node?
On 03/15/2016 09:55 AM, Shichangkuo wrote:> Hi all, > When NodeA want to unlock lock-res1, and it send message to NodeB, but in NodeB any lock queues (granted, converting, blocked) could not find this lock for some unknown reason, then NodeB reply DLM_IVLOCKID. > In this situation, NodeA bug. The detail is described as follows. > > NODEA NODEB > ocfs2_drop_lock > ocfs2_dlm_unlock > o2cb_dlm_unlock > dlmunlock > dlmunlock_remote ----> send message to master > dlm_unlock_lock_handler > return DLM_IVLOCKID > BUG() > > I think it's no nessary to let NodeA bug, it just like we removed an nonexistent file. > Could NodeB return DLM_NORMAL?No. This is a lock inconsistent bug. What kernel version are you using? Please check whether patchset "ocfs2: o2net: don't shutdown connection when idle timeout" is there. Without this, this inconsistent lock can be triggered. Thanks, Junxiao.> > Thanks > Changkuo > _______________________________________________ > Ocfs2-devel mailing list > Ocfs2-devel at oss.oracle.com > https://oss.oracle.com/mailman/listinfo/ocfs2-devel > ------------------------------------------------------------------------------------------------------------------------------------- > ???????????????????????????????????????? > ???????????????????????????????????????? > ???????????????????????????????????????? > ??? > This e-mail and its attachments contain confidential information from H3C, which is > intended only for the person or entity whose address is listed above. Any use of the > information contained herein in any way (including, but not limited to, total or partial > disclosure, reproduction, or dissemination) by persons other than the intended > recipient(s) is prohibited. If you receive this e-mail in error, please notify the sender > by phone or email immediately and delete it! > _______________________________________________ > Ocfs2-devel mailing list > Ocfs2-devel at oss.oracle.com > https://oss.oracle.com/mailman/listinfo/ocfs2-devel >