ds_uvput() - Write failed for record id '35612396'

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

asrnl
Premium Member
Premium Member
Posts: 15
Joined: Thu Dec 11, 2008 6:16 am

ds_uvput() - Write failed for record id '35612396'

Post by asrnl »

Im getting an error for an serverjob, which is using a hash-file. The hash-file size gets bigger then 2 gb and gives me the next error:

ds_uvput() - Write failed for record id '35612396'

Message: DataStage Job 35 Phantom 4298
Program "JOB.1056046522.DT.1583741912.TRANS2": Line 123, Internal data error.
Job Aborted after Fatal Error logged.
File '/appl/dwa00p/hashed/amf/dwa_ulb_azkr//DeclDet1/DATA.30':
Computed blink of 0x844 does not match expected blink of 0x0!
Detected within group starting at address 0x80051800!
Attempting to Cleanup after ABORT was raised in stage StagingFctSchadeUitkering..Transformer_98
DataStage Phantom Aborting with @ABORT.CODE = 1

How can is solve this problem?
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

You have a corrupted hashed file, caused (apparently) by taking its size over 2GB with only 32 bit pointers.

To fix, you need to convert the hashed file to 64-bit addressing.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
asrnl
Premium Member
Premium Member
Posts: 15
Joined: Thu Dec 11, 2008 6:16 am

Post by asrnl »

Thanks for your reply.
How can i convert the hashed file to 64-bit? And i have the next options checked:
-Create file
-Clear file before writing
-Delete file before create

If i convert the file, after restart, the job will make a new 32-bit file, or am i wrong?
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

The stage only creates 32bit hashed files for some reason. You'll need to create it one time as 64bit from the command line and then have the stage simply clear it. A before-routine could emulate the settings you are using in the stage - delete and recreate - and then the job could just use it.

To create one with 64bit addressing, just take the normal command line and add -64BIT to it.

ps. All of this would have been found with an exact search for "Computed blink" in the forums here.
-craig

"You can never have too many knives" -- Logan Nine Fingers
asrnl
Premium Member
Premium Member
Posts: 15
Joined: Thu Dec 11, 2008 6:16 am

Post by asrnl »

chulett wrote:The stage only creates 32bit hashed files for some reason. You'll need to create it one time as 64bit from the command line and then have the stage simply clear it. A before-routine could emulate the ...
It says premium content, so cant read the rest.

So the solution is:
RESIZE hashedfilename * * * 64BIT
and what do you mean with the stage simply clear it?
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Why not renew your membership and read the entire message? By "simply clear it" I meant uncheck the other two options you listed.
-craig

"You can never have too many knives" -- Logan Nine Fingers
asrnl
Premium Member
Premium Member
Posts: 15
Joined: Thu Dec 11, 2008 6:16 am

Post by asrnl »

thats a good idea, i thought we had a premium membership, but i will check it.

But one more question. If i create a new hash file, i see that there is also a voc file that is created. Do i need to do something with that file?
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

The VOC record depends on how you create it. For a pathed hashed file, use the mkdbfile command you'll find in any job's log that has created one for you.
-craig

"You can never have too many knives" -- Logan Nine Fingers
asrnl
Premium Member
Premium Member
Posts: 15
Joined: Thu Dec 11, 2008 6:16 am

Post by asrnl »

chulett wrote:The VOC record depends on how you create it. For a pathed hashed file, use the mkdbfile command you'll find in any job's log that has created one for you. ...
Yes it uses a pathed hashed file. In the log its says:
Creating file DeclDet1, executing command /appl/dstadm/IBMIS/Server/DSEngine/bin/mkdbfile /appl/dwa00p/hashed/amf/dwa_ulb_azkr//DeclDet1 30 1 4 20 50 80 1628

So i dont need to do something with the VOC?
I now have the next steps i will follow:

1. clear the hashed-dir
2. create the hashed fil with CREATE.FILE NAME DYNAMIC 64BIT (If you create the file in the project tab, it wil save the file in the project directory. Is it possible to save the files in an specified directory? )
3 uncheck Create file.
4. uncheck Delete file before create.
5. run the job
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

If you create the hashed file in a directory you will need to create an entry in the VOC file using the SETFILE command.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Why are you using CREATE.FILE? That is for creating one in an "account", i.e. a project. As noted, a pathed hashed file is created using mkdbfile as your log entry showed and can be created anywhere.
-craig

"You can never have too many knives" -- Logan Nine Fingers
asrnl
Premium Member
Premium Member
Posts: 15
Joined: Thu Dec 11, 2008 6:16 am

Post by asrnl »

Ok i got that now. But the issue now is if i use the command:
Creating file DeclDet1, executing command /appl/dstadm/IBMIS/Server/DSEngine/bin/mkdbfile /appl/dwa00p/hashed/amf/dwa_ulb_azkr//DeclDet1 30 1 4 20 50 80 1628 64BIT

It returns: Verb "Creating" is not in your VOC.
I dont have acces to /appl/dstadm with my account, no permission. Will this works with the right permission? Because im not an admin user.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

A) You need to run it from the command line, not TCL.
B) Do not include the "Creating file DeclDet1, executing command " verbiage, just the command itself. :?
-craig

"You can never have too many knives" -- Logan Nine Fingers
asrnl
Premium Member
Premium Member
Posts: 15
Joined: Thu Dec 11, 2008 6:16 am

Post by asrnl »

chulett wrote:A) You need to run it from the command line, not TCL.
B) Do not include the "Creating file DeclDet1, executing command " verbiage, just the command itself. :? ...
I use the command line and the command /appl/dstadm/IBMIS/Server/DSEngine/bin/mkdbfile /appl/dwa00p/hashed/amf/dwa_ulb_azkr//DeclDet1 30 1 4 20 50 80 1628 64BIT
But it still gives the error: not in your VOC?
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Then you are not at the command line, which means logged in at the O/S level. You are still trying to run this from TCL or the Administrator client. Don't.
-craig

"You can never have too many knives" -- Logan Nine Fingers
Post Reply