| Rev |
Age |
Author |
Path |
Log message |
Diff |
| 37728 |
14 h 24 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. |
|
| 35458 |
275 d 6 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 |
|
| 35434 |
277 d 4 h |
amit |
/trunk/profitmandi-web/src/main/java/com/spice/profitmandi/ |
Add @Transactional(readOnly=true) to 12 read-only controllers
Skips dirty checking and snapshot storage for better performance |
|
| 33514 |
814 d 5 h |
tejus.lohani |
/trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/ |
import changes for OTPProcessor and reponse |
|
| 23936 |
2986 d 9 h |
tejbeer |
/trunk/ |
AddtoWalletRequest |
|
| 23568 |
3079 d 9 h |
govind |
/trunk/ |
Fixed changes related to logging. Updated to log4j2 |
|
| 23532 |
3088 d 12 h |
amit.gupta |
/trunk/ |
Added changes related to returns |
|
| 22931 |
3232 d 14 h |
ashik.ali |
/trunk/profitmandi-web/src/main/java/com/spice/profitmandi/ |
|
|
| 22372 |
3306 d 4 h |
amit.gupta |
/trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/ |
|
|
| 22040 |
3348 d 8 h |
amit.gupta |
/trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/ |
Added exception for profitmandi |
|
| 21740 |
3385 d 6 h |
ashik.ali |
/trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/ |
|
|
| 21735 |
3385 d 7 h |
ashik.ali |
/trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/ |
|
|
| 21734 |
3385 d 8 h |
ashik.ali |
/trunk/ |
|
|
| 21730 |
3385 d 10 h |
ashik.ali |
/trunk/ |
|
|
| 21699 |
3387 d 9 h |
ashik.ali |
/trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/ |
|
|
| 21666 |
3391 d 15 h |
amit.gupta |
/trunk/ |
Fixed controllers related to address |
|
| 21496 |
3413 d 6 h |
ashik.ali |
/trunk/profitmandi-web/src/main/java/com/spice/profitmandi/ |
|
|
| 21448 |
3420 d 6 h |
ashik.ali |
/trunk/profitmandi-web/src/main/java/com/spice/profitmandi/ |
|
|
| 21440 |
3420 d 13 h |
ashik.ali |
/trunk/profitmandi-web/src/main/java/com/spice/profitmandi/ |
|
|
| 21431 |
3421 d 7 h |
ashik.ali |
/trunk/profitmandi-web/src/main/java/com/spice/profitmandi/ |
|
|