Bug 40915: Add enhanced debug logging for empty critical fields in SIP message parsing
This patch adds debug logging to C4::SIP::Sip::MsgType::_initialize() to help identify when critical fields (patron_id, item_id) are parsed as empty values. Empty critical fields in SIP messages can later cause DBIx::Class constraint errors when passed to Koha::Objects->find() operations, generating confusing 'Odd number of elements in anonymous hash' errors in SIP server logs. The enhanced logging helps administrators identify the root cause by logging when empty patron_id or item_id fields are detected during message parsing. To test: 1. Apply regression tests patch first 2. Run: $ ktd --shell k$ prove t/db_dependent/SIP/MsgType.t => FAIL: Debug logging tests fail (no enhanced logging present) 3. Apply this patch 4. Run: $ ktd --shell k$ prove t/db_dependent/SIP/MsgType.t => SUCCESS: All tests pass, debug logging works correctly 5. Sign off :-D Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk> Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
This commit is contained in:
parent
499b23d63c
commit
220fdce180
|
|
@ -352,7 +352,23 @@ sub _initialize {
|
|||
$self->{fields}->{$fn}, $self->{name}, $msg
|
||||
);
|
||||
} else {
|
||||
$self->{fields}->{$fn} = substr( $field, 2 );
|
||||
my $field_value = substr( $field, 2 );
|
||||
$self->{fields}->{$fn} = $field_value;
|
||||
|
||||
# Enhanced debug logging for empty critical fields that could cause constraint errors
|
||||
if ( defined $field_value && $field_value eq '' ) {
|
||||
if ( $fn eq FID_PATRON_ID ) {
|
||||
siplog(
|
||||
"LOG_DEBUG", "Empty patron_id detected in %s message - could cause constraint errors",
|
||||
$self->{name}
|
||||
);
|
||||
} elsif ( $fn eq FID_ITEM_ID ) {
|
||||
siplog(
|
||||
"LOG_DEBUG", "Empty item_id detected in %s message - could cause constraint errors",
|
||||
$self->{name}
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue