Subversion Repositories SmartDukaan

Rev

Rev 37726 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 37726 Rev 37788
Line 136... Line 136...
136
    testCompile 'net.bytebuddy:byte-buddy:1.11.13'
136
    testCompile 'net.bytebuddy:byte-buddy:1.11.13'
137
    testCompile 'net.bytebuddy:byte-buddy-agent:1.11.13'
137
    testCompile 'net.bytebuddy:byte-buddy-agent:1.11.13'
138
 
138
 
139
}
139
}
140
 
140
 
-
 
141
/*
-
 
142
 * Unpack selenium-remote-driver from the fat jar at startup.
-
 
143
 *
-
 
144
 * Selenium reads its JS "atoms" as classpath RESOURCES on essentially every WebDriver
-
 
145
 * command -- W3CHttpCommandCodec.amendParameters -> executeAtom -> Resources.toString.
-
 
146
 * Inside a Spring Boot fat jar that is a NESTED-jar read served by
-
 
147
 * org.springframework.boot.loader.jar.ZipInflaterInputStream, and on this loader
-
 
148
 * (Spring Boot 2.0.2, 2018) that read is the failure surface behind three separate
-
 
149
 * inflater corruptions seen on prod -- "invalid stored block lengths", "invalid distance
-
 
150
 * too far back", "invalid code lengths set" -- on a jar whose outer AND nested archives
-
 
151
 * both pass `unzip -t`. Intact bytes plus three different inflater errors is a reader
-
 
152
 * fault, not a file fault.
-
 
153
 *
-
 
154
 * requiresUnpack extracts the jar to a real file at launch, so the atom read becomes an
-
 
155
 * ordinary filesystem read and leaves the nested reader out of the hot path entirely.
-
 
156
 * This is the durable half of the 2026-09-21/22 activation outage (17,508 then 27,768
-
 
157
 * failures/day against a ~30-50 baseline); the other half is in
-
 
158
 * Oppo/RealmeImeiActivationService, which no longer spends the day's imei pool when the
-
 
159
 * whole chunk fails.
-
 
160
 *
-
 
161
 * NOTE this is also why a restart is an unreliable cure: it was restarted at 13:16 on
-
 
162
 * 09-22 and still failed for three hours, then a 16:36 restart came up clean, on the
-
 
163
 * SAME jar. Do not treat "restart fixed it" as a diagnosis.
-
 
164
 */
-
 
165
bootJar {
-
 
166
    requiresUnpack '**/selenium-remote-driver*.jar'
-
 
167
}
-
 
168
 
141
defaultTasks 'run', 'build'
169
defaultTasks 'run', 'build'