@@ -322,19 +322,30 @@ internal void Cancel(MySqlCommand command)
322
322
323
323
internal async Task < CachedProcedure > GetCachedProcedure ( IOBehavior ioBehavior , string name , CancellationToken cancellationToken )
324
324
{
325
+ if ( Log . IsDebugEnabled ( ) )
326
+ Log . Debug ( "Session{0} getting cached procedure Name={1}" , m_session . Id , name ) ;
325
327
if ( State != ConnectionState . Open )
326
328
throw new InvalidOperationException ( "Connection is not open." ) ;
327
329
328
330
if ( m_session . ServerVersion . Version < ServerVersions . SupportsProcedureCache )
331
+ {
332
+ Log . Warn ( "Session{0} ServerVersion={1} does not support cached procedures" , m_session . Id , m_session . ServerVersion . OriginalString ) ;
329
333
return null ;
334
+ }
330
335
331
336
var cachedProcedures = m_session . Pool ? . GetProcedureCache ( ) ?? m_cachedProcedures ;
332
337
if ( cachedProcedures == null )
338
+ {
339
+ Log . Warn ( "Session{0} pool Pool{1} doesn't have a shared procedure cache; procedure will only be cached on this connection" , m_session . Id , m_session . Pool ? . Id ) ;
333
340
cachedProcedures = m_cachedProcedures = new Dictionary < string , CachedProcedure > ( ) ;
341
+ }
334
342
335
343
var normalized = NormalizedSchema . MustNormalize ( name , Database ) ;
336
344
if ( string . IsNullOrEmpty ( normalized . Schema ) )
345
+ {
346
+ Log . Warn ( "Session{0} couldn't normalize Database={1} Name={2}; not caching procedure" , m_session . Id , Database , name ) ;
337
347
return null ;
348
+ }
338
349
339
350
CachedProcedure cachedProcedure ;
340
351
bool foundProcedure ;
@@ -343,9 +354,24 @@ internal async Task<CachedProcedure> GetCachedProcedure(IOBehavior ioBehavior, s
343
354
if ( ! foundProcedure )
344
355
{
345
356
cachedProcedure = await CachedProcedure . FillAsync ( ioBehavior , this , normalized . Schema , normalized . Component , cancellationToken ) . ConfigureAwait ( false ) ;
357
+ if ( Log . IsWarnEnabled ( ) )
358
+ {
359
+ if ( cachedProcedure != null )
360
+ Log . Info ( "Session{0} caching procedure Schema={1} Component={2}" , m_session . Id , normalized . Schema , normalized . Component ) ;
361
+ else
362
+ Log . Warn ( "Session{0} failed to cache procedure Schema={1} Component={2}" , m_session . Id , normalized . Schema , normalized . Component ) ;
363
+ }
346
364
lock ( cachedProcedures )
347
365
cachedProcedures [ normalized . FullyQualified ] = cachedProcedure ;
348
366
}
367
+
368
+ if ( Log . IsWarnEnabled ( ) )
369
+ {
370
+ if ( cachedProcedure == null )
371
+ Log . Warn ( "Session{0} did not find cached procedure Schema={1} Component={2}" , m_session . Id , normalized . Schema , normalized . Component ) ;
372
+ else
373
+ Log . Debug ( "Session{0} returning cached procedure Schema={1} Component={2}" , m_session . Id , normalized . Schema , normalized . Component ) ;
374
+ }
349
375
return cachedProcedure ;
350
376
}
351
377
0 commit comments