Can I change Message Types after logging events?
No—Message Types are immutable once events are logged. You cannot rename, delete, or restructure existing Message Types without breaking searchability. Use Message Type versioning to handle schema evolution.
Why Message Types Are Immutable
Message Types define the data model for business intelligence:
- Search Field Expressions - Bound to specific Message Types, extract Order Numbers, Customer IDs, amounts
- Log Views - Filter by Message Type to show relevant logs to specific teams
- Non-Events Monitoring - Tracks expected message volumes per Message Type
- Business Process Modeling (BPM) - Correlates transactions using Message Type sequences
Changing a Message Type breaks all these features for historical logs.
What Happens If You Try to Change
Scenario 1: Rename Message Type
Original: OriginalMessageTypeName: "PurchaseOrder#1.0"
Attempted change: Rename to "PurchaseOrder_v1"
Result:
- ❌ Historical logs become orphaned - 500K logged events with "PurchaseOrder#1.0" no longer match renamed type
- ❌ Search Fields stop working - XPath expressions for "PurchaseOrder#1.0" don't apply to "PurchaseOrder_v1"
- ❌ Log Views lose data - "Procurement View" filtered by "PurchaseOrder#1.0" shows zero results
- ❌ Non-Events Monitoring breaks - Volume alerts for "PurchaseOrder#1.0" no longer trigger
Don't rename Message Types.
Scenario 2: Delete Message Type
Attempted: Delete "Invoice#1.0" Message Type
Result:
- ❌ Historical logs lose context - 1 million logged invoices show generic "unknown type"
- ❌ Search Fields deleted - Cannot search by Invoice Number, Customer ID, Invoice Amount
- ❌ Reports break - Finance team's "Invoice View" shows blank
- ❌ Data loss - Cannot retroactively restore deleted Message Type
Never delete Message Types with existing logs.
Solution: Message Type Versioning
When schema changes, create new Message Type version:
Version 1.0 (2025): <Order><OrderId>PO-12345</OrderId></Order>
Version 2.0 (2026): <Order><PurchaseOrderNumber>PO-12345</PurchaseOrderNumber><ShippingMethod>Express</ShippingMethod></Order>
Solution:
- Keep "PurchaseOrder#1.0" unchanged - 500K historical logs remain searchable
- Create "PurchaseOrder#2.0" - New Message Type for new schema
- Configure Search Fields for v2.0 - XPath for renamed field
- Update integration code - Set
OriginalMessageTypeName: "PurchaseOrder#2.0"for new logs - Both versions coexist - Historical logs (v1.0) and new logs (v2.0) both searchable
Read full guide: FAQ - How do I handle message schema changes over time?
Acceptable Changes (Safe to Modify)
✅ Add New Search Fields
Safe: Create additional Search Field Expressions for existing Message Type—Nodinite re-indexes historical logs.
✅ Update Message Type Description
Safe: Modify description field—zero impact on logs, Search Fields, or Log Views.
Related Topics:
Message Types Overview
Handling Schema Changes (Versioning Guide)
Search Field Expressions
See all FAQs: Troubleshooting Overview
Next Step
Back to Custom Logging Overview