Our BOM synchronization process consistently times out when handling large assemblies (5000+ components). The timeout occurs during the database query phase, causing manufacturing delays:
ERROR: BOM sync timeout after 300 seconds
at BOMSyncService.processAssembly(BOMSyncService.java:412)
wt.method.RemoteMethodServer: Operation exceeded timeout threshold
We’ve checked timeout configuration parameters in wt.properties (currently set to 300s), but increasing them doesn’t solve the underlying performance issue. Database query performance tuning seems necessary, and we’re considering batch processing optimization. Our assembly decomposition strategy might also need revision. The delays impact our manufacturing schedule significantly. Any suggestions for handling these large BOMs efficiently?
First, check your database indexes on the BOM structure tables. Missing indexes on parent-child relationship columns can cause massive performance degradation with large assemblies. Run an EXPLAIN PLAN on your BOM queries to identify full table scans.
We do have indexes on the parent-child columns, but they might be fragmented. The batch processing idea makes sense - are there configuration options to control batch size, or does this require custom code? Our assemblies are hierarchical (top-level > sub-assemblies > components), so logical chunking should be feasible.
I’d also recommend reviewing your assembly decomposition strategy. Are you synchronizing the entire assembly structure every time, or just the deltas? Incremental sync with change detection can dramatically reduce processing load. Check if your BOM sync is configured for full refresh vs incremental update mode.