TJ and Distributed Files

127 views
Skip to first unread message

Ken Wallis

unread,
May 16, 2005, 11:05:33 PM5/16/05
to jB...@googlegroups.com
I'm experimenting with using TJ and jlogdup to do replication of a
database for a UNIX site (AIX 5.2, jBASE 3.4.4) and everything was
looking OK until someone made one of the files into a distributed file.
Since then, every update to that file has been accompanied by an error
in the remote jlogdup output:
hh:mm:ss dd mmm yyyy : ERROR: For definition set=database
Error number 22 writing to file '/full_path_to_dist_file'

(of course errno=22 is EINVAL.)

Now, I've verified that with the environment the remote jlogdup process
has, it can jstat the file, LIST-DISTRIB the file and it can jshow the
subroutine for the partitioning algorithm, I've also eliminated index
corruption for the remote copy of the file by removing the remote index
entirely, but this still happens.

Does anyone have any ideas? Am I simply wrong to expect that a pair of
jlogdup processes should be able to replicate an update to a record in
a distributed file over onto a remote machine just like they can for
pretty much any other type of file?

Cheers,

Ken

PS. Great to have a functioning 'list' again!

John Fenlon

unread,
May 17, 2005, 12:34:50 AM5/17/05
to jB...@googlegroups.com

ken,

I have seen this before (on windows).

oddly the data does get across even though you get the error 22, but as you probably know too many errors will kill jlogdup.

in this case I created the distributed file DIST, then the 3 part files, then attached the part files.
what the log doesn't show is any action 'joining' the parts.

if you manually copy over the distributed file after attaching the parts it works.
 
not ideal but a work around for you.
 
john



e.g.

jsh john ~ -->JLOGDUP -lE:\jbasehome_3\log.txt -V input set=eldest terminate=eo
f output set=database rename=c:,e:
13:52:48 17 MAY 2005 : STATUS:
    Begin JLOGDUP process: From set 'set=eldest terminate=eof' to  set 'set=data
base rename=c:,e:'

0*4*24*1116300712     CREATEFILE  e:\JBASEHOME_3\dist]D                       <---------------- problem area ??
 john             0       13:31:52  17 MAY 2005
13:52:49 17 MAY 2005 : ERROR:  For definition set=database rename=c:,e:
    CREATE-FILE of 'e:\JBASEHOME_3\dist]D' failed, error number 17
    Error code 'JEDI_FILEOP_FILE_EXISTS_DATA]e:\JBASEHOME_3\dist]D'
0*4*169*1116300712    CREATEFILE  e:\JBASEHOME_3\dist]D
 john             0       13:31:52  17 MAY 2005
0*4*318*1116300712    CREATEFILE  e:\JBASEHOME_3\dist
 john             0       13:31:52  17 MAY 2005
0*4*470*1116300760    CREATEFILE  e:\JBASEHOME_3\DIST-1]D
 john             0       13:32:40  17 MAY 2005
0*4*605*1116300760    CREATEFILE  e:\JBASEHOME_3\DIST-1
 john             0       13:32:40  17 MAY 2005
0*4*738*1116300765    CREATEFILE  e:\JBASEHOME_3\DIST-2]D
 john             0       13:32:45  17 MAY 2005
0*4*873*1116300765    CREATEFILE  e:\JBASEHOME_3\DIST-2
 john             0       13:32:45  17 MAY 2005
0*4*1006*1116300772   CREATEFILE  e:\JBASEHOME_3\DIST-3]D
 john             0       13:32:52  17 MAY 2005
0*4*1141*1116300772   CREATEFILE  e:\JBASEHOME_3\DIST-3
 john             0       13:32:52  17 MAY 2005
0*4*1274*1116300918   WRITE   e:\JBASE30\tmp                  jed_as_0_0     joh
n             0       13:35:18  17 MAY 2005
0*4*1380*1116300918   WRITE   e:\JBASEHOME_3\DIST-1           1-X            joh
n             0       13:35:18  17 MAY 2005
13:52:54 17 MAY 2005 : ERROR:  For definition set=database rename=c:,e:
    Error number 22 writing to file 'e:\JBASEHOME_3\DIST'
0*4*1486*1116300918   WRITE   e:\JBASEHOME_3\DIST             1-X            joh
n             0       13:35:18  17 MAY 2005
0*4*1590*1116300923   WRITE   e:\JBASE30\tmp                  jed_as_0_1     joh
n             0       13:35:23  17 MAY 2005
0*4*1696*1116300923   WRITE   e:\JBASEHOME_3\DIST-2           2-X            joh
n             0       13:35:23  17 MAY 2005
13:52:54 17 MAY 2005 : ERROR:  For definition set=database rename=c:,e:
    Error number 22 writing to file 'e:\JBASEHOME_3\DIST'
0*4*1802*1116300923   WRITE   e:\JBASEHOME_3\DIST             2-X            joh
n             0       13:35:23  17 MAY 2005
0*4*1906*1116300928   WRITE   e:\JBASE30\tmp                  jed_as_0_2     joh
n             0       13:35:28  17 MAY 2005
0*4*2012*1116300928   WRITE   e:\JBASEHOME_3\DIST-3           3-X            joh
n             0       13:35:28  17 MAY 2005
13:52:54 17 MAY 2005 : ERROR:  For definition set=database rename=c:,e:
    Error number 22 writing to file 'e:\JBASEHOME_3\DIST'
0*4*2118*1116300928   WRITE   e:\JBASEHOME_3\DIST             3-X            joh
n             0       13:35:28  17 MAY 2005
13:52:54 17 MAY 2005 : STATUS:
    Termination Statistics: usr 6.30 , sys 0.00 , elapsed 0m6.30
    INPUT : 18 records , 0 blocks , 2198 record bytes , 0 errors
    OUTPUT: 18 records , 0 blocks , 2198 bytes , 4 errors
13:52:54 17 MAY 2005 : STATUS:
    Program terminated. Exit code is 0
jsh john ~ -->e:
jsh john E:\ -->cd jbasehome_3
jsh john E:\jbasehome_3 -->list-distrib dist
Partitioning Algorithm is SYSTEM, with delimiter '-'
Part file 'DIST-1', part number 1
Part file 'DIST-2', part number 2
Part file 'DIST-3', part number 3

jsh john E:\jbasehome_3 -->list dist

PAGE    1                                            13:59:22  17 May 2005

dist..........

1-X
2-X
3-X

 3 Records Listed

jsh john E:\jbasehome_3 -->

now copy over the distributed file manually

sh john E:\jbasehome_3 -->COPY C:\JBASEHOME_3\DIST* e:
C:\JBASEHOME_3\dist
C:\JBASEHOME_3\dist]D
        2 file(s) copied.
sh john E:\jbasehome_3 -->C:
jsh john ~ -->JLOGDUP -lE:\jbasehome_3\log.txt -V input set=eldest terminate=eo
f output set=database rename=c:,e:
14:16:27 17 MAY 2005 : STATUS:
    Begin JLOGDUP process: From set 'set=eldest terminate=eof' to  set 'set=data
base rename=c:,e:'
14:16:27 17 MAY 2005 : ERROR:  For definition set=database rename=c:,e:             <---------- you'd expect this as the file exists
    CREATE-FILE of 'e:\JBASEHOME_3\dist]D' failed, error number 17
    Error code 'JEDI_FILEOP_FILE_EXISTS_DATA]e:\JBASEHOME_3\dist]D'
0*4*24*1116300712     CREATEFILE  e:\JBASEHOME_3\dist]D
 john             0       13:31:52  17 MAY 2005
14:16:27 17 MAY 2005 : ERROR:  For definition set=database rename=c:,e:
    CREATE-FILE of 'e:\JBASEHOME_3\dist]D' failed, error number 17
    Error code 'JEDI_FILEOP_FILE_EXISTS_DATA]e:\JBASEHOME_3\dist]D'
0*4*169*1116300712    CREATEFILE  e:\JBASEHOME_3\dist]D
 john             0       13:31:52  17 MAY 2005
14:16:27 17 MAY 2005 : ERROR:  For definition set=database rename=c:,e:
    CREATE-FILE of 'e:\JBASEHOME_3\dist' failed, error number 17
    Error code 'JEDI_FILEOP_FILE_EXISTS_DATA]e:\JBASEHOME_3\dist'
0*4*318*1116300712    CREATEFILE  e:\JBASEHOME_3\dist
 john             0       13:31:52  17 MAY 2005
0*4*470*1116300760    CREATEFILE  e:\JBASEHOME_3\DIST-1]D
 john             0       13:32:40  17 MAY 2005
0*4*605*1116300760    CREATEFILE  e:\JBASEHOME_3\DIST-1
 john             0       13:32:40  17 MAY 2005
0*4*738*1116300765    CREATEFILE  e:\JBASEHOME_3\DIST-2]D
 john             0       13:32:45  17 MAY 2005
0*4*873*1116300765    CREATEFILE  e:\JBASEHOME_3\DIST-2
 john             0       13:32:45  17 MAY 2005
0*4*1006*1116300772   CREATEFILE  e:\JBASEHOME_3\DIST-3]D
 john             0       13:32:52  17 MAY 2005
0*4*1141*1116300772   CREATEFILE  e:\JBASEHOME_3\DIST-3
 john             0       13:32:52  17 MAY 2005
0*4*1274*1116300918   WRITE   e:\JBASE30\tmp                  jed_as_0_0     joh
n             0       13:35:18  17 MAY 2005
0*4*1380*1116300918   WRITE   e:\JBASEHOME_3\DIST-1           1-X            joh
n             0       13:35:18  17 MAY 2005
0*4*1486*1116300918   WRITE   e:\JBASEHOME_3\DIST             1-X            joh
n             0       13:35:18  17 MAY 2005
0*4*1590*1116300923   WRITE   e:\JBASE30\tmp                  jed_as_0_1     joh
n             0       13:35:23  17 MAY 2005
0*4*1696*1116300923   WRITE   e:\JBASEHOME_3\DIST-2           2-X            joh
n             0       13:35:23  17 MAY 2005
0*4*1802*1116300923   WRITE   e:\JBASEHOME_3\DIST             2-X            joh
n             0       13:35:23  17 MAY 2005
0*4*1906*1116300928   WRITE   e:\JBASE30\tmp                  jed_as_0_2     joh
n             0       13:35:28  17 MAY 2005
0*4*2012*1116300928   WRITE   e:\JBASEHOME_3\DIST-3           3-X            joh
n             0       13:35:28  17 MAY 2005
0*4*2118*1116300928   WRITE   e:\JBASEHOME_3\DIST             3-X            joh
n             0       13:35:28  17 MAY 2005
14:16:31 17 MAY 2005 : STATUS:
    Termination Statistics: usr 4.66 , sys 0.00 , elapsed 0m4.66
    INPUT : 18 records , 0 blocks , 2198 record bytes , 0 errors
    OUTPUT: 18 records , 0 blocks , 2198 bytes , 3 errors
14:16:31 17 MAY 2005 : STATUS:
    Program terminated. Exit code is 0
jsh john ~ -->




-----Original Message-----
From: jB...@googlegroups.com [
mailto:jB...@googlegroups.com]On Behalf Of

Ken Wallis

unread,
May 17, 2005, 4:35:37 AM5/17/05
to jB...@googlegroups.com
John,

Thanks for that, indeed, the key seems to be that the DISTRIB file stub
needs to be copied over to the remote machine and jbackup/jrestore
don't seem to do that very well at 3.4.4. After stopping the jlogdup
pair and rcp -p ing the stub file across, I was able to restart the
jlogdup processes and haven't had any more such messages.

Cheers,

Ken

j...@cexp.com

unread,
May 17, 2005, 9:12:16 AM5/17/05
to jB...@googlegroups.com
Ken

Since jBASE logs database updates on the stub and the part files, you may
want to consider turning off journaling (jchmod -L) on the part files to
avoid double log entries for updates to the distributed file. You could turn
off journaling on the stub file instead to achieve the same thing, but
triggers/indexes created against the stub won't be run/updated on
replication.

Jim Young

-----Original Message-----
From: jB...@googlegroups.com [mailto:jB...@googlegroups.com] On Behalf Of
Ken Wallis

Charlie Noah

unread,
May 17, 2005, 11:09:40 AM5/17/05
to jB...@googlegroups.com
Good Morning,

We just upgraded from 3.4.4.4 to 3.4.8 on AIX 5.3 and are seeing
a considerable slowdown in printing. A job that took 1-2 seconds
to arrive at the printer now takes 10-20 seconds. Has anyone run
into this? Any ideas appreciated.

Regards,
Charlie Noah
Inland Truck Parts

Mark Hogden

unread,
May 17, 2005, 11:16:38 AM5/17/05
to jB...@googlegroups.com
Perhaps JBC_DESPOOLSLEEP was reset. The default is 30 seconds, we normally
set it to 5.

Jim Idle

unread,
May 17, 2005, 11:42:12 AM5/17/05
to jB...@googlegroups.com
I think that is only required on Windows (or it was at least) because
Windows does not have signal handlers that can be used to wake up the
despool process, but it might be worth a try - I can't remember if UNIX
would use it if it was there.

Jim

Charlie Noah

unread,
May 17, 2005, 2:06:34 PM5/17/05
to jB...@googlegroups.com, Owens, Doug (Ashwood)
Jim (and others),

The docs say it is Windows only, but we're experimenting with it anyway.
We will shut down all our printers tonight and bring them back up with
JBC_DESPOOLSLEEP set to 2. Our initial tests indicate that Jbase is
indeed looking at that variable, even though it's supposed to be only Windows.
We'll post the results in the morning.

Thanks,
Charlie

Jim Idle

unread,
May 17, 2005, 2:25:39 PM5/17/05
to jB...@googlegroups.com, Owens, Doug (Ashwood)
I should say however, that even if it looks at that variable, there is
still some other issue which is stopping the despoil process from seeing
the signal it is supposed to see. It could be that your user programs no
longer have programs to send the signal to that despool processes. Did
you by any chance change the install user names/groups/permissions etc?

Jim

> -----Original Message-----
> From: jB...@googlegroups.com [mailto:jB...@googlegroups.com] On Behalf
Of

Charlie Noah

unread,
May 17, 2005, 3:09:27 PM5/17/05
to jB...@googlegroups.com
We went ahead and shut down and restarted the printers, and they are now
printing almost instantly. There could be something else involved, but I
don't know what, or what to look for. As far as I know no names, groups or
permissions were changed.

It's interesting that the printer phantoms were all at the top of the
monitor process list while they were slow, and now are way down in the list
like they were before we upgraded. Go figure...

Thamks for all the tips.

Charlie

Jim Holloway

unread,
May 17, 2005, 7:12:11 PM5/17/05
to jB...@googlegroups.com
This has happened to us here on linux servers, but it turned out that
the installer didn't shutdown the spooler first, i.e. the jspprint
processes; as soon as we restarted the spooler, all was good.

-Jim

-----Original Message-----
From: Charlie Noah [mailto:char...@inlandtruck.com]
Reply all
Reply to author
Forward
0 new messages