@@ -449,40 +449,33 @@ protected virtual async Task<object> LoadFromSecondLevelCacheAsync(LoadEvent @ev
449
449
450
450
Task < object > AssembleAsync ( CacheKey ck , object ce , LoadEvent evt , bool alterStatistics )
451
451
{
452
- try
452
+ if ( factory . Statistics . IsStatisticsEnabled && alterStatistics )
453
453
{
454
- if ( factory . Statistics . IsStatisticsEnabled && alterStatistics )
454
+ if ( ce == null )
455
455
{
456
- if ( ce == null )
457
- {
458
- factory . StatisticsImplementor . SecondLevelCacheMiss ( persister . Cache . RegionName ) ;
459
- log . Debug ( "Entity cache miss: {0}" , ck ) ;
460
- }
461
- else
462
- {
463
- factory . StatisticsImplementor . SecondLevelCacheHit ( persister . Cache . RegionName ) ;
464
- log . Debug ( "Entity cache hit: {0}" , ck ) ;
465
- }
456
+ factory . StatisticsImplementor . SecondLevelCacheMiss ( persister . Cache . RegionName ) ;
457
+ log . Debug ( "Entity cache miss: {0}" , ck ) ;
466
458
}
467
-
468
- if ( ce != null )
459
+ else
469
460
{
470
- CacheEntry entry = ( CacheEntry ) persister . CacheEntryStructure . Destructure ( ce , factory ) ;
471
-
472
- // Entity was found in second-level cache...
473
- // NH: Different behavior (take a look to options.ExactPersister (NH-295))
474
- if ( ! options . ExactPersister || persister . EntityMetamodel . SubclassEntityNames . Contains ( entry . Subclass ) )
475
- {
476
- return AssembleCacheEntryAsync ( entry , evt . EntityId , persister , evt , cancellationToken ) ;
477
- }
461
+ factory . StatisticsImplementor . SecondLevelCacheHit ( persister . Cache . RegionName ) ;
462
+ log . Debug ( "Entity cache hit: {0}" , ck ) ;
478
463
}
479
-
480
- return Task . FromResult < object > ( null ) ;
481
464
}
482
- catch ( Exception ex )
465
+
466
+ if ( ce != null )
483
467
{
484
- return Task . FromException < object > ( ex ) ;
468
+ CacheEntry entry = ( CacheEntry ) persister . CacheEntryStructure . Destructure ( ce , factory ) ;
469
+
470
+ // Entity was found in second-level cache...
471
+ // NH: Different behavior (take a look to options.ExactPersister (NH-295))
472
+ if ( ! options . ExactPersister || persister . EntityMetamodel . SubclassEntityNames . Contains ( entry . Subclass ) )
473
+ {
474
+ return AssembleCacheEntryAsync ( entry , evt . EntityId , persister , evt , cancellationToken ) ;
475
+ }
485
476
}
477
+
478
+ return Task . FromResult < object > ( null ) ;
486
479
}
487
480
}
488
481
0 commit comments