Subversion Repositories SmartDukaan

Rev

Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
37728 8 h 35 m amit /trunk/ logging: stop three non-defects reporting to the error board as ERROR

log4j2.xml ships ERROR and above to GlitchTip, so the log level IS the filter.
Three sources of ordinary, expected behaviour were logging at ERROR and between
them accounted for 51,244 events -- 43% of the whole board -- none of them a bug.
GlobalExceptionHandler already logs ProfitMandiBusinessException at WARN and is
unchanged; every leak below bypassed it.

1. Session state (27,302 events, 23% of the board). CookiesProcessor and the two
interceptors logged a missing or expired cookie at ERROR. A logged-out or
anonymous visitor is the normal case -- the code already handles it by
redirecting to /login or returning 403 -- and each of these sits in a class
whose surrounding lines already log at DEBUG. These never reach the handler,
which is why its WARN-level treatment never applied. Now DEBUG.

2. Client disconnect (19,349 events). There was no handler for it, so a client
hanging up mid-response fell through to @ExceptionHandler(Exception.class) and
was recorded as an unhandled server bug. Adds an IOException handler to both
GlobalExceptionHandlers that logs a disconnect at DEBUG and everything else at
ERROR with its 500 intact.

⚠ ClientAbortException CANNOT be imported here: catalina is provided by the
container and is not on either module's compileClasspath (verified against
the configuration, not assumed). The match is therefore on the simple class
name plus the "broken pipe"/"connection reset" messages, walked down the cause
chain. A genuine IOException matches none of those and keeps its ERROR.

The handler returns null for a disconnect rather than a body: the connection
that would carry it is already closed, and writing to it is what raised the
exception. Null is the supported way to say "handled, no body" --
HttpEntityMethodProcessor marks the request handled before reading the value.

3. Business exceptions re-logged at ERROR (11 sites). Each catches a
ProfitMandiBusinessException, logs it, and CONTINUES with a fallback -- a
missing wallet history defaults to an empty list, a user not found by primary
email is retried against the secondary. That is an expected outcome being
reported as a failure, and logging it at ERROR pre-empted the handler that
would have logged it at WARN. Now WARN.

Selenium/WebDriver (58,776 events) is deliberately untouched: that is a genuinely
broken ChromeDriver, and muting it would hide Oppo/Realme IMEI activation failing.
It looks like noise only because one broken thing repeated 52,000 times.
 
36370 150 d 21 h vikas /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ Fix: App login  
36369 151 d 1 h vikas /trunk/profitmandi-fofo/src/main/ Fix: Sale purchase invoice item quantity calculation  
35458 275 d 0 h amit /trunk/ Revert @Transactional(readOnly=true) - keep @Transactional only at Controller level

Changes:
- profitmandi-web: Controllers use @Transactional(rollbackFor = Throwable.class) at class level, removed method-level @Transactional(readOnly = true)
- profitmandi-fofo: Controllers use @Transactional(rollbackFor = Throwable.class) at class level, removed method-level @Transactional
- profitmandi-dao: Removed @Transactional from services/repositories

Exceptions (called from interceptors, need own transaction):
- RoleManager: @Transactional(readOnly = true) - called from interceptor for auth
- PartnerTypeChangeServiceImpl.getBestPartner(): @Transactional - called from JWTUtil via interceptor

Fixed javax.transaction.Transactional to org.springframework.transaction.annotation.Transactional
Fixed rollbackOn to rollbackFor for Spring compatibility
 
34815 426 d 1 h vikas /trunk/ Reset Password and Categories management  
34785 437 d 3 h vikas.jangra /trunk/ Partners login with password  
34300 553 d 23 h ranu /trunk/ rbm rating task  
32953 951 d 8 h amit.gupta /trunk/ Handled dtrUser email/mobile cant be duplicated  
32574 1062 d 2 h amit.gupta /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ Fixed cart  
32571 1066 d 9 h amit.gupta /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ Fixed cart  
32570 1066 d 9 h amit.gupta /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ Fixed cart  
32559 1071 d 8 h amit.gupta /trunk/ Fixed auth issues  
31238 1382 d 7 h amit.gupta /trunk/profitmandi-fofo/src/main/ Removed unwanted files  
30302 1622 d 5 h amit.gupta /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ Fixed ahead issue  
30301 1622 d 5 h amit.gupta /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ Fixed team login from dashboard to app as well.  
30299 1622 d 6 h amit.gupta /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/ Fixed ahead issue  
28256 1981 d 0 h amit.gupta /trunk/profitmandi-fofo/src/main/ Fixed redirect issue  
28248 1981 d 6 h amit.gupta /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/  
28246 1981 d 6 h amit.gupta /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/  
27234 2163 d 7 h amit.gupta /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/  

Show All