Your BOM synchronization timeout issue with variant parts requires a multi-faceted approach addressing all the key areas:
1. External Reference Resolution Optimization
The core issue is inefficient reference resolution for variant configurations. Modify your site.xconf:
<Property name="wt.bom.externalRef.resolveDepth" value="2"/>
<Property name="wt.bom.externalRef.parallelThreads" value="8"/>
This limits resolution depth and enables parallel processing. For 200+ part assemblies, parallel resolution is essential.
2. BOM Synchronization Timeout Configuration
Increase the timeout, but also enable progress monitoring:
<Property name="wt.bom.syncTimeout" value="1800000"/>
<Property name="wt.bom.syncProgressInterval" value="30000"/>
This extends timeout to 30 minutes and logs progress every 30 seconds, helping identify exactly where the process stalls.
3. Asynchronous Processing Queue Tuning
Your stuck ‘RUNNING’ tasks indicate queue saturation. Increase queue capacity:
- Navigate to Site > Utilities > Queue Management
- For the BOMSync queue, increase max concurrent tasks from default 5 to 15
- Set task timeout to 45 minutes
- Enable task priority so variant BOM syncs get precedence
4. Reference Caching Enhancement
Variant parts need larger cache allocation. Update xconf.properties:
wt.cache.externalRef.size=5000
wt.cache.externalRef.ttl=3600
wt.cache.variant.enabled=true
The variant-specific cache prevents constant re-evaluation of reference validity across configurations.
5. Pre-Resolution Strategy
Implement a pre-sync validation step:
- Create a scheduled job that runs reference validation nightly
- This populates the cache during off-hours
- BOM sync operations then use cached resolution results
Monitoring and Validation:
After implementing these changes:
- Monitor MethodServer logs for resolution timing per part
- Check queue metrics to ensure tasks complete within timeout
- Run test sync on a 50-part subset before full assembly
The combination of parallel processing, extended timeouts, and proactive caching should resolve your variant BOM synchronization issues. Start with queue and cache tuning, then adjust timeouts based on observed performance.