Project

General

Profile

Feature #6448

make location of LOB files configurable for import

Added by Eric Faulhaber almost 2 years ago. Updated over 1 year ago.

Status:
Closed
Priority:
Normal
Assignee:
Igor Skornyakov
Target version:
-
Start date:
Due date:
% Done:

100%

billable:
No
vendor_id:
GCD
version:

lobs.diff Magnifier (5.32 KB) Igor Skornyakov, 11/25/2022 12:48 PM

History

#1 Updated by Eric Faulhaber almost 2 years ago

Currently, the location is hard-coded to a lobs sub-directory of the directory containing the .d files.

#2 Updated by Eric Faulhaber over 1 year ago

  • Assignee set to Igor Skornyakov

Eric Faulhaber wrote:

Currently, the location is hard-coded to a lobs sub-directory of the directory containing the .d files.

We can leave this as the default location, if a different location is not specified.

I am thinking this setting can just be a variable in import.xml (e.g., lobPath, similar to checkTypes, maxThreads, etc.) which can be overridden at the command line (or in a script like our reference Ant build scripts). It could either be an absolute or relative path. If relative, I suppose it should be relative to the directory containing the .d files (e.g., $P2J_HOME/data/dump/<database_name>/).

If anyone has any other ideas, please document them (and the rationale) here. Thanks.

#3 Updated by Igor Skornyakov over 1 year ago

  • Status changed from New to WIP

#4 Updated by Igor Skornyakov over 1 year ago

I've got the following exception on the database import with 6129b/14333.

     [java] java.lang.NullPointerException
     [java]     at com.goldencode.p2j.util.TransactionManager$ContextContainer.obtain(TransactionManager.java:11050)
     [java]     at com.goldencode.p2j.util.TransactionManager.getTransactionHelper(TransactionManager.java:1771)
     [java]     at com.goldencode.p2j.util.BlockManager$WorkArea.<init>(BlockManager.java:11716)
     [java]     at com.goldencode.p2j.util.BlockManager$WorkArea.<init>(BlockManager.java:11713)
     [java]     at com.goldencode.p2j.util.BlockManager$ContextContainer.initialValue(BlockManager.java:11781)
     [java]     at com.goldencode.p2j.util.BlockManager$ContextContainer.initialValue(BlockManager.java:11759)
     [java]     at com.goldencode.p2j.security.ContextLocal$Fallback.initialValue(ContextLocal.java:907)
     [java]     at java.lang.ThreadLocal.setInitialValue(ThreadLocal.java:180)
     [java]     at java.lang.ThreadLocal.get(ThreadLocal.java:170)
     [java]     at com.goldencode.p2j.security.ContextLocal.getImpl(ContextLocal.java:493)
     [java]     at com.goldencode.p2j.security.ContextLocal.lambda$get$0(ContextLocal.java:460)
     [java]     at com.goldencode.p2j.jmx.NanoTimer.timer(NanoTimer.java:129)
     [java]     at com.goldencode.p2j.security.ContextLocal.get(ContextLocal.java:460)
     [java]     at com.goldencode.p2j.security.ContextLocal.get(ContextLocal.java:442)
     [java]     at com.goldencode.p2j.util.BlockManager$ContextContainer.obtain(BlockManager.java:11770)
     [java]     at com.goldencode.p2j.util.BlockManager.hasLegacyError(BlockManager.java:8116)
     [java]     at com.goldencode.p2j.util.ErrorManager.mustThrowLegacyError(ErrorManager.java:2541)
     [java]     at com.goldencode.p2j.util.ErrorManager$ServerDataAccess.mustThrowLegacyError(ErrorManager.java:4256)
     [java]     at com.goldencode.p2j.util.ErrorManager.recordOrThrowError(ErrorManager.java:1559)
     [java]     at com.goldencode.p2j.util.ErrorManager.recordOrThrowError(ErrorManager.java:1524)
     [java]     at com.goldencode.p2j.util.ErrorManager.recordOrThrowError(ErrorManager.java:1474)
     [java]     at com.goldencode.p2j.util.ErrorManager.recordOrThrowError(ErrorManager.java:1453)
     [java]     at com.goldencode.p2j.util.date.instantiateDate(date.java:4373)
     [java]     at com.goldencode.p2j.util.date.parseWorker(date.java:4222)
     [java]     at com.goldencode.p2j.util.date.instantiateFromStringWorker(date.java:3257)
     [java]     at com.goldencode.p2j.util.date.<init>(date.java:628)
     [java]     at com.goldencode.p2j.util.Stream.assignDatum(Stream.java:921)
     [java]     at com.goldencode.p2j.util.Stream.readField(Stream.java:1873)
     [java]     at com.goldencode.p2j.schema.RecordLoader.nextRecord(RecordLoader.java:277)
     [java]     at com.goldencode.p2j.schema.ImportWorker$Library.importTable(ImportWorker.java:1311)
     [java]     at com.goldencode.p2j.schema.ImportWorker$Library.lambda$importAsync$3(ImportWorker.java:1930)
     [java]     at java.lang.Thread.run(Thread.java:748)

Is it a known issue (maybe fixed in another branch)?
Thank you.

#5 Updated by Igor Skornyakov over 1 year ago

Igor Skornyakov wrote:

I've got the following exception on the database import with 6129b/14333.
[...]
Is it a known issue (maybe fixed in another branch)?
Thank you.

Sorry, it was my fault (misconfiguration).
Please disregard.

#6 Updated by Igor Skornyakov over 1 year ago

Implemented as described in #6448-2.
The attached .diff file is for 6129b/14333.

Please review.
Thank you.

#7 Updated by Ovidiu Maxiniuc over 1 year ago

Review of lobs.diff:

Good job! Implemented as requested in #6448-2.
Please do the cleanup (fix indentation of lines 269, 273-275 of import.xml and remove the disabled lines in PropertyMapper.java) and the patch is ready for commit.

#8 Updated by Igor Skornyakov over 1 year ago

Ovidiu Maxiniuc wrote:

Review of lobs.diff:

Good job! Implemented as requested in #6448-2.
Please do the cleanup (fix indentation of lines 269, 273-275 of import.xml and remove the disabled lines in PropertyMapper.java) and the patch is ready for commit.

Thank you!
Fixed and committed to 6129b/14334.

#10 Updated by Eric Faulhaber over 1 year ago

  • % Done changed from 0 to 90

Igor, if you've already tested this, the only thing that remains is to update the documentation to describe the default LOB file location and how to configure it to another location. Please update this issue to 100% when that is done. Thanks.

#11 Updated by Igor Skornyakov over 1 year ago

  • Status changed from WIP to Feedback
  • % Done changed from 90 to 100

Eric Faulhaber wrote:

Igor, if you've already tested this, the only thing that remains is to update the documentation to describe the default LOB file location and how to configure it to another location. Please update this issue to 100% when that is done. Thanks.

Documentation updated.

#12 Updated by Eric Faulhaber over 1 year ago

  • Status changed from Feedback to Closed

Thank you.

Also available in: Atom PDF