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 >