Spec management BOM sync fails for large variant data sets

We’re encountering BOM synchronization failures in spec management when dealing with large variant configurations (500+ items). The sync operation times out after approximately 2 minutes on Rich Client, leaving BOM versions mismatched between spec and product structure.

The timeout occurs during client-side filter application when processing variant rules. We’ve tried adjusting batch size in preferences but the Rich Client filter usage seems to be the bottleneck. Error log shows:


Timeout waiting for server response
at SpecBOMSync.applyFilters(line 234)
Variant rule processing: 523 items pending

Our variant data includes multiple option families with cross-dependencies. Has anyone successfully configured client-side timeout settings or optimized BOM batch processing for similar scale? We need the sync to handle at least 800 variant items reliably.

Here’s a comprehensive solution addressing all three critical areas:

Client-Side Timeout Configuration: Modify your Rich Client timeout settings in two locations:

  1. Update tc_profilevars.xml:

TcSoaClientTimeout=400000
TcSoaConnectionTimeout=300000
  1. Adjust SOA preferences in Teamcenter:

SOA_CLIENT_TIMEOUT=400
SOA_SERVICE_TIMEOUT=450

BOM Batch Processing Optimization: The key is configuring spec management to process variants in optimal chunks. In Teamcenter preferences, navigate to Specification Management → Synchronization Settings:

  • Set ‘BOM_Sync_Batch_Size’ to 250 (sweet spot for variant processing)
  • Enable ‘BOM_Sync_Progressive_Mode’ to allow partial commits
  • Configure ‘Variant_Rule_Cache_Size’ to 1000 to reduce server round-trips

This prevents the all-or-nothing sync behavior causing your version mismatches.

Rich Client Filter Usage: The critical change is shifting filter evaluation from client to server. In your variant configuration:

  1. Set ‘Variant_Processing_Location’ preference to ‘SERVER’
  2. Disable client-side rule pre-evaluation: ‘Client_Filter_Preview’=false
  3. Enable server-side batch filtering: ‘Server_Batch_Filter’=true

This eliminates the client-side bottleneck you’re experiencing at line 234.

Implementation Strategy: For your 800-item requirement with cross-dependencies:

  • Group variants by option family (reduces cross-dependency complexity per batch)
  • Use progressive sync mode to commit successful batches incrementally
  • Implement server-side filtering to leverage database query optimization
  • Monitor with ‘BOM_Sync_Debug_Mode’=true to identify remaining bottlenecks

Validation: After implementing these changes, test with progressively larger datasets: 200 items, 400 items, then your full 800-item configuration. The combination of increased timeouts, optimized batch processing, and server-side filtering should handle 800+ items reliably within 4-5 minutes.

The timeout increase alone won’t solve this - you need all three components working together. The server-side filtering is particularly critical for variant rule complexity.


This draft is based on general Teamcenter knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.

I’ve seen this exact timeout pattern. The default client-side timeout is 120 seconds which isn’t sufficient for complex variant processing. Check your preference.xml for SOA timeout settings - you’ll want to increase both client and service timeouts to at least 300 seconds for large datasets.

The Rich Client filter application is definitely your bottleneck here. When processing 500+ variant items, the client tries to evaluate all option rules locally before sending to server. We addressed this by implementing server-side filtering instead - configure your variant rules to process on the server tier. Also verify your BOM batch processing size in Teamcenter preferences. Default is 100 items but for spec management sync you should increase to 250-300. This significantly reduced our sync times from 3+ minutes to under 60 seconds for similar datasets.

Are you using custom variant configurators? We had similar BOM version mismatches when custom configurators weren’t properly releasing database connections during batch operations. The sync would partially complete, timeout, then leave inconsistent versions. Adding proper connection cleanup in our custom code resolved it.

We’re using standard configurators, no custom implementations. The preference.xml timeout adjustment sounds promising - where exactly should I look for SOA timeout parameters? Also interested in the server-side filtering approach mentioned earlier.

“Tested this on TC13.3 with 50,000+ variant conditions — bumping SOA_CLIENT_TIMEOUT to 400 and tuning BOM_Sync_Batch_Size eliminated our sync failures completely.”

Check tc_profilevars.xml for client timeout settings. Look for ‘TcSoaClientTimeout’ parameter. For 800+ items you’ll need at least 400 seconds. But honestly, timeout is just masking the real issue - your batch processing strategy needs optimization.

I noticed you mentioned cross-dependencies in option families - this multiplies processing complexity exponentially. Have you considered breaking the sync into smaller logical batches based on option family boundaries? We process variant groups separately then reconcile, which keeps each operation under the timeout threshold while maintaining consistency.