$gtm_path/mumps -r ^GDE << EOF
change -segment DEFAULT -file=$vista_path/g/mumps.dat
add -name ewd -region=ewdreg
add -region ewdreg -d=ewdseg
add -segment ewdseg -file=$vista_path/g/ewd
exit
EOF
$gtm_path/mumps -r ^GDE << EOF
change -segment ewdseg -block=32256
change -region ewdreg -key=255 -record=32240
exit
EOF
My ewd.conf once installed looks like this:
LoadModule m_apache_module
/opt/worldvista/EHR/web/ewdapps/m_apache/m_apache22.so
<Location /ewd>
SetEnv MGWSI_PORT 7041
SetEnv MGWSI_M_UCI /opt/worldvista/EHR/g/mumps.gld
SetEnv MGWSI_M_FUNCTION runPage^%zewdGTMRuntime
</Location>
<Location "/mgwsi/sys/">
# This is a reserved location used for the m_apache systems
facilities invoked through: /mgwsi/sys/system_functions.mgwsi
Order deny,allow
Allow from all
</Location>
So my question is what is the best way to have my mumps.dat and what I
am calling ewd.dat side by side. Should I have two separate .gld files
that map to each database or is there a way to tell ewd about a
particular database with one .gld file that contains the information
for both VistA (currently by default mumps.dat) and ewd?
-- IV
All --
Please internalize how a global directory file maps a global variable
name space to a set of database files. That is all that is needed to
put EWD and VistA together.
Regards
-- Bhaskar
Default is just that - default. Simply map all EWD's global variables to the EWD database and the rest to VistA. You can run a mupip integ -full on the EWD database to get a list of global variables therein, or Rob can provide a list of global variable name patterns that EWD uses.
-- Bhaskar
EWD's globals are:
^zewd*
^%zewd*
^CacheTempEWD
The latter is a work/scratch global. The nomenclature is because on a
Cache system, it automatically maps to in-memory storage for
performance.
I think that MM would be a good choice for CacheTempEWD, but
any idea (Rob) on how large things can get? What can one look
at to determine its max size?
The use of ^zewd is for an XML store... potentially persistent docs!
So, for EWD use, MM may work, but for other applications, it needs
to be durable "like a global".
On Wed, Jun 24, 2009 at 11:49 AM, LD 'Gus' Landis <ldla...@gmail.com> wrote:
I think that MM would be a good choice for CacheTempEWD, but
any idea (Rob) on how large things can get? What can one look
at to determine its max size?
The use of ^zewd is for an XML store... potentially persistent docs!
So, for EWD use, MM may work, but for other applications, it needs
to be durable "like a global".
[KSB] MM *is* Durable. Not just "like a global" - it is used for global variables! The difference is that -backward recovery is not supported for MM, only -forward recovery is. The other limitation with MM is that since it is mapped into the process address space, very large databases require a 64-bit GT.M.
Regards
-- Bhaskar
Looks like 27 variables are present. Rob, any of these that I do not
need to have in place?
There was a mumps process running, I kill -9 'ed it, then
ewd@mdb:/usr/local/gtm/ewd$ mupip integ -full /usr/local/gtm/ewd/mumps.dat > out
Directory tree
Level Blocks Records % Used Adjacent
1 1 1 0.074 NA
0 1 27 1.323 NA
Global variable ^%MGWSI
Level Blocks Records % Used Adjacent
1 1 1 0.074 1
0 1 20 4.318 0
Global variable ^%eXtc
Level Blocks Records % Used Adjacent
1 1 1 0.074 0
0 1 0 0.049 0
Global variable ^%mgwPipe
Level Blocks Records % Used Adjacent
1 1 1 0.074 0
0 1 0 0.049 0
Global variable ^%work
Level Blocks Records % Used Adjacent
1 1 1 0.074 0
0 1 0 0.049 0
Global variable ^%zewd
Level Blocks Records % Used Adjacent
1 1 5 0.554 1
0 5 884 50.381 3
Global variable ^%zewdError
Level Blocks Records % Used Adjacent
1 1 1 0.074 0
0 1 0 0.049 0
Global variable ^%zewdIndex
Level Blocks Records % Used Adjacent
1 1 2 0.170 0
0 2 1314 51.161 0
Global variable ^%zewdLog
Level Blocks Records % Used Adjacent
1 1 1 0.074 0
0 1 0 0.049 0
Global variable ^%zewdSession
Level Blocks Records % Used Adjacent
1 1 1 0.074 0
0 1 580 76.556 0
Global variable ^%zewdTrace
Level Blocks Records % Used Adjacent
1 1 1 0.074 0
0 1 0 0.049 0
Global variable ^CacheTempCTProcessed
Level Blocks Records % Used Adjacent
1 1 1 0.074 0
0 1 0 0.049 0
Global variable ^CacheTempEWD
Level Blocks Records % Used Adjacent
1 1 1 0.074 0
0 1 0 0.049 0
Global variable ^CacheTempUserNode
Level Blocks Records % Used Adjacent
1 1 1 0.074 0
0 1 0 0.049 0
Global variable ^CacheTempWLD
Level Blocks Records % Used Adjacent
1 1 1 0.074 0
0 1 0 0.049 0
Global variable ^MDB
Level Blocks Records % Used Adjacent
1 1 1 0.074 0
0 1 0 0.049 0
Global variable ^MDBConfig
Level Blocks Records % Used Adjacent
1 1 1 0.074 0
0 1 1 0.148 0
Global variable ^MDBErrors
Level Blocks Records % Used Adjacent
1 1 1 0.074 0
0 1 3 0.688 0
Global variable ^MDBUAF
Level Blocks Records % Used Adjacent
1 1 1 0.074 0
0 1 0 0.049 0
Global variable ^ewdDemo
Level Blocks Records % Used Adjacent
1 1 1 0.074 0
0 1 0 0.049 0
Global variable ^ewdResults
Level Blocks Records % Used Adjacent
1 1 1 0.074 0
0 1 0 0.049 0
Global variable ^rltBreak
Level Blocks Records % Used Adjacent
1 1 1 0.074 0
0 1 0 0.049 0
Global variable ^rob
Level Blocks Records % Used Adjacent
1 1 1 0.074 0
0 1 0 0.049 0
Global variable ^robcgi
Level Blocks Records % Used Adjacent
1 1 1 0.074 0
0 1 0 0.049 0
Global variable ^robdata
Level Blocks Records % Used Adjacent
1 1 1 0.074 0
0 1 0 0.049 0
Global variable ^rt
Level Blocks Records % Used Adjacent
1 1 1 0.074 1
0 1 0 0.049 1
Global variable ^zewd
Level Blocks Records % Used Adjacent
1 1 1 0.074 1
0 1 13 1.258 1
Global variable ^zewdDOM
Level Blocks Records % Used Adjacent
1 1 1 0.074 0
0 1 0 0.049 0
No errors detected by integ.
Type Blocks Records % Used Adjacent
Directory 2 28 0.699 NA
Index 27 32 0.095 4
Data 32 2815 13.693 5
Free 139 NA NA NA
Total 200 2875 NA 9
%GTM-E-GTMSECSHRPERM, The gtmsecshr module in $gtm_dist does not have
the correct permission and uid
%SYSTEM-E-ENO22, Invalid argument
%GTM-E-CRITSEMFAIL, Error with semaphores for region
/usr/local/gtm/ewd/mumps.dat
%GTM-I-TEXT, sem_rmid of semid failed
%GTM-F-NOCHLEFT, Unhandled condition exception (all handlers
exhausted) - process terminating
Quit
[KSB] <...snip...>
> %GTM-E-GTMSECSHRPERM, The gtmsecshr module in $gtm_dist does not have
> the correct permission and uid
> %SYSTEM-E-ENO22, Invalid argument
> %GTM-E-CRITSEMFAIL, Error with semaphores for region
> /usr/local/gtm/ewd/mumps.dat
> %GTM-I-TEXT, sem_rmid of semid failed
> %GTM-F-NOCHLEFT, Unhandled condition exception (all handlers
> exhausted) - process terminating
> Quit
[KSB] How did you install GT.M? Unless you really know what you are
doing, please use *as root* "sh ./configure" or "sudo sh ./configure"
to install GT.M.
Regards
-- Bhaskar
This is all on Tweed's un-altered ewd Virtual Machine appliance right now.
-- IV
[KSB] <...snip...>
> Looks like 27 variables are present. Rob, any of these that I do not
> need to have in place?
>
> There was a mumps process running, I kill -9 'ed it, then
[KSB] Please use mupip stop <proc> to kill mumps processes. Unless
you like to juggle sharp knives like a hibachi restaurant chef.
[KSB] Something like the following can be used to create the necessary
global directory.
$ cat VistAEWD_GDE.txt
a -s EWD -bl=32768 -al=1000 -e=200 -f=ewd.dat
a -r EWD -d=EWD -s -k=255 -r=32752 -j=before
a -n %MGW* -r=EWD
a -n %eXtc* -r=EWD
a -n %mgw* -r=EWD
a -n %work -r=EWD
a -n %zewd* -r=EWD
a -n MDB* -r=EWD
a -n ewd* -r=EWD
a -n rob* -r=EWD
a -n rt* -r=EWD
a -n zewd* -r=EWD
a -s EWDTEMP -bl=32768 -ac=mm -al=1000 -e=200 -f=ewdtemp.dat
a -r EWDTEMP -d=EWDTEMP -s -k=255 -r=32752
a -n CacheTemp* -r=EWDTEMP
c -s DEFAULT -bl=4096 -al=50000 -e=10000 -f=mumps.dat
c -r DEFAULT -s -k=255 -r=4080 -j=before
$
You can provide it as an input to GDE:
$ mumps -run GDE
%GDE-I-GDUSEDEFS, Using defaults for Global Directory
/tmp/tmp/mumps.gld
GDE> @VistAEWD_GDE.txt
%GDE-I-EXECOM, Executing command file /tmp/tmp/VistAEWD_GDE.txt
GDE> exit
%GDE-I-VERIFY, Verification OK
%GDE-I-GDCREATE, Creating Global Directory file
/tmp/tmp/mumps.gld
$
Then you can create your database files:
$ mupip create
Created file /tmp/tmp/mumps.dat
%GTM-W-MUNOSTRMBKUP, Database /tmp/tmp/ewd.dat has a block size larger
than 32256 and thus cannot use stream (incremental) backup
Created file /tmp/tmp/ewd.dat
%GTM-W-MUNOSTRMBKUP, Database /tmp/tmp/ewdtemp.dat has a block size
larger than 32256 and thus cannot use stream (incremental) backup
Created file /tmp/tmp/ewdtemp.dat
$ ls -l
total 576
-rw-rw-rw- 1 kbhaskar gtc 32899584 2009-06-24 12:43 ewd.dat
-rw-rw-rw- 1 kbhaskar gtc 32899584 2009-06-24 12:43 ewdtemp.dat
-rw-rw-rw- 1 kbhaskar gtc 205267456 2009-06-24 12:43 mumps.dat
-rw-r--r-- 1 kbhaskar gtc 3584 2009-06-24 12:42 mumps.gld
-rw-r--r-- 1 kbhaskar gtc 494 2009-06-24 12:35 VistAEWD_GDE.txt
$
Regards
-- Bhaskar
^%eXtc Not used any more. Indeed I'm not sure how/why you have that
on your system. What version of EWD did you use?
^MDBConfig Also not part of the EWD appliance, but part of M/DB.
What appliance are you using???
^MDBErrors Ditto
^MDBUAF Ditto
OK I see what it is. Most of those globals don't exist: you won't be
able to list a lot of them. It appears that mupip integ discovers
"ghosts of the past" I assume as top level indexes with nothing
underneath them.
Bhaskar - is there a way to clear that leftover garbage out of the
mumps.dat?
So, the MM is just using the UNIX memory map to file(s).
What is the performance difference? I'll have to go back
to the docs on this. Never have used it.
My convention is: if I have db.gld, then I have a db.gde
which I use to create the db.gld file via:
$ export gtmgbldir=db.gld
$ mumps -run ^GDE < db.gde > db.gde.log
In the db.gde I usually include a "show -all" too,
so that I have a record of what I was expecting.
Bhaskar! "cat" *is* easier than "emacs"... Hmm ;-)
On Wed, Jun 24, 2009 at 10:44 AM, K.S. Bhaskar<ksbh...@gmail.com> wrote:
> On Wed, Jun 24, 2009 at 12:12 PM, Ignacio Valdes<iva...@hal-pc.org> wrote:
> [KSB] Something like the following can be used to create the necessary
> global directory.
>
> $ cat VistAEWD_GDE.txt
> a -s EWD -bl=32768 -al=1000 -e=200 -f=ewd.dat
> a -r EWD -d=EWD -s -k=255 -r=32752 -j=before
> a -n %MGW* -r=EWD
> a -n %eXtc* -r=EWD
> a -n %mgw* -r=EWD
> a -n %work -r=EWD
> a -n %zewd* -r=EWD
> a -n MDB* -r=EWD
> a -n ewd* -r=EWD
> a -n rob* -r=EWD
> a -n rt* -r=EWD
> a -n zewd* -r=EWD
> a -s EWDTEMP -bl=32768 -ac=mm -al=1000 -e=200 -f=ewdtemp.dat
> a -r EWDTEMP -d=EWDTEMP -s -k=255 -r=32752
> a -n CacheTemp* -r=EWDTEMP
> c -s DEFAULT -bl=4096 -al=50000 -e=10000 -f=mumps.dat
> c -r DEFAULT -s -k=255 -r=4080 -j=before
> $
>
---
On Wed, Jun 24, 2009 at 1:42 PM, Ignacio Valdes<iva...@hal-pc.org> wrote:
> Do you have the code for building the virgin database? If so, may I have it?
> -- IV
>
---
On Wed, Jun 24, 2009 at 1:14 PM, rtweed<rob....@gmail.com> wrote:
>
> OK I see what it is. Most of those globals don't exist: you won't be
> able to list a lot of them. It appears that mupip integ discovers
> "ghosts of the past" I assume as top level indexes with nothing
> underneath them.
>
> Bhaskar - is there a way to clear that leftover garbage out of the
> mumps.dat?
>
> The good news is that the latest EWD Virtual Appliance is clean. if
> you do a ^%GD you'll see the small handful of globals that actually
> exist in a "virgin" build.
>
> Rob
>
--
jlz
Using VMWare Server. Web interface.
Has the appliance changed? It looks like 6.0 is still
the current one (which has been there for some time,
right?).
Cheers,
--ldl
On Thu, Jun 25, 2009 at 4:33 AM, JohnLeo Zimmer<johnl...@gmail.com> wrote:
>
> In my hands a change from bridged to NAT allows EWD to find the
> network first try.
>
> jlz
>
> Using VMWare Server. Web interface.
>
---
On Thu, Jun 25, 2009 at 11:02 AM, rtweed<rob....@gmail.com> wrote:
>
> No the appliance hasn't changed. However it includes EWD build 755
> which is a little old. You can update it to the latest publicly
> available EWD build 762 by downloading it separately (EWD for GT.M),
> then follow the installation instructions that are included in the
> download.
>
> Rebuilding a new version of the Virtual Appliance is a non-trivial
> task. Uploading it alone takes me over an hour. So I don't rebuild
> them too often and as a result, the Virtual Appliances tend to be
> behind the curve compared with the current releases of EWD. However
> updating to a new build of EWD normally just involves replacing the
> _zewd*.m files and rebooting the VM.
>
> You should regularly check our web site or the main EWD Google Group
> for announcements of new EWD releases.
>
> Rob
>
>
---