YottaDB / YDB

Mirrored from https://gitlab.com/YottaDB/DB/YDB
Other
76 stars 37 forks source link

Various issues with $VIEW("STATSHARE") and VIEW "STATSHARE" when region list is specified #254

Open nars1 opened 6 years ago

nars1 commented 6 years ago

Final Release Note

Description

Issue 1)

$VIEW("STATSHARE") changes from 0 to 1 after a region-specific VIEW "NOSTATSHARE" command

YDB>w $view("statshare")
0
YDB>view "nostatshare":"DEFAULT"
YDB>w $view("statshare")
1

In this case it should still be 0.

Issue 2)

Newly opened regions implicitly share even after a region-specific VIEW "NOSTATSHARE" or VIEW "STATSHARE" command whereas the release note for GTM-8874 clearly states that "after a VIEW specifies selective sharing, regions don't implicitly share as they open". Below is a test case that demonstrates the issue.

YDB>write $view("STATSHARE")
0
YDB>view "nostatshare":"AREG"
YDB>zsy "ls -l /proc/"_$j_"/fd"
total 0
lrwx------ 1 user grp 64 May 16 14:56 0 -> /dev/pts/3
lrwx------ 1 user grp 64 May 16 14:56 1 -> /dev/pts/3
lrwx------ 1 user grp 64 May 16 14:57 2 -> /dev/pts/3
lrwx------ 1 user grp 64 May 16 14:57 3 -> /extra1/testarea1/user/test/temp/tmp/tmp/a.dat
YDB>w $get(^b)
YDB>zsy "ls -l /proc/"_$j_"/fd"
total 0
lrwx------ 1 user grp 64 May 16 15:05 0 -> /dev/pts/3
lrwx------ 1 user grp 64 May 16 15:05 1 -> /dev/pts/3
lrwx------ 1 user grp 64 May 16 15:05 2 -> /dev/pts/3
lrwx------ 1 user grp 64 May 16 15:05 3 -> /extra1/testarea1/user/test/temp/tmp/tmp/a.dat
lrwx------ 1 user grp 64 May 16 15:05 4 -> /extra1/testarea1/user/test/temp/tmp/tmp/mumps.dat
lrwx------ 1 user grp 64 May 16 15:05 5 -> /tmp/2bb0cc08.mumps.dat.gst

Issue 3)

$VIEW("STATSHARE") should differentiate whether most recent VIEW "STATSHARE" or VIEW "NOSTATSHARE" command had region list or not.

Currently $VIEW("STATSHARE") returns 1 if the most recent VIEW "STATSHARE" or VIEW "NOSTATSHARE" command was either a VIEW "STATSHARE" or VIEW "STATSHARE":reglist or VIEW "NOSTATSHARE":reglist. The only reason when $VIEW("STATSHARE") returns 0 is if the most recent command was a VIEW "NOSTATSHARE". But this is user-unfriendly. It would be better if $VIEW("STATSHARE") returns 0 if the most recent command was a VIEW:"NOSTATSHARE", returns 1 if the most recent command was a VIEW "STATSHARE", returns 2 if the most recent command was a VIEW "STATSHARE":reglist or VIEW "NOSTATSHARE":reglist

Issue 4)

$VIEW("STATSHARE",reglist) fails with a SIG-11 if a VIEW "NOSTATSHARE":reglist was done previously

YDB>view "NOSTATSHARE":"DEFAULT"
YDB>write $view("STATSHARE","DEFAULT")
%YDB-F-KILLBYSIGSINFO1, YottaDB process 30582 has been killed by a signal 11 at address 0x00007EFE99CB68D1 (vaddr 0x0000000000000018)
%YDB-F-SIGMAPERR, Signal was caused by an address not mapped to an object

Draft Release Note

nars1 commented 6 years ago

Update. In GT.M V6.3-005, we noticed that Issues 1 and 4 have been definitely fixed. And Issue 3 might be fixed too. Issue 2 still remains though.