Your batch size and spreadsheet format need optimization, but you also need better command-line configuration. I had the exact same issue last year with supplier onboarding. Here’s what worked:
For large supplier datasets, split imports into manageable chunks but use optimized batch commands. Set these JVM parameters specifically for the import utility:
-Xms4096m -Xmx12288m -XX:+UseG1GC
-XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=4
-XX:+HeapDumpOnOutOfMemoryError
The key is using G1GC with controlled pause times and starting with a larger minimum heap (4GB) to reduce GC frequency.
For supplier spreadsheet optimization, remove these common memory hogs:
- Hidden columns with formulas
- Embedded images or rich formatting
- Duplicate header rows
- Merged cells in data ranges
Convert to CSV format before import - Excel parsing consumes significantly more memory.
For the batch import command, use smaller commit intervals:
mql execute program ImportBOM
-batch 750 -commit true -validate false
-file supplier_catalog.csv
The -validate false flag is critical - it skips memory-intensive relationship validation during import. Run validation as a separate post-processing step:
mql trigger promote BusinessObject "Supplier Part"
state "Preliminary" -validate
This approach processes validation incrementally rather than loading entire object graphs.
We successfully imported 180,000 supplier parts across 12 suppliers using 750-row batches with these settings. Import time increased from 4 hours to 7 hours, but zero memory crashes. Monitor heap usage with JConsole during import - you should see sawtooth pattern staying under 80% max heap.
Also configure connection pooling if you haven’t:
wt.pom.dbcp.maxActive=100
wt.pom.dbcp.maxWait=180000
This prevents connection exhaustion during sustained bulk operations. After implementing these changes, run a pilot import with 5,000 rows to validate stability before processing your full 200,000+ part catalog.
This draft is based on general ENOVIA knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.