Skip to content

Instantly share code, notes, and snippets.

View indrabasak's full-sized avatar
🎯
Focusing

Indra Basak indrabasak

🎯
Focusing
View GitHub Profile
@indrabasak
indrabasak / ClassA.class
Last active September 24, 2017 20:14
Decompile ClassA.class
Classfile /Users/ib/examples/target/classes/example/simple/app/ClassA.class
Last modified Sep 14, 2017; size 1017 bytes
MD5 checksum 60bb1285c34e6284bb32fd9938e30082
Compiled from "ClassA.java"
public class example.simple.app.ClassA
minor version: 0
major version: 52
flags: ACC_PUBLIC, ACC_SUPER
Constant pool:
#1 = Methodref #16.#39 // java/lang/Object."<init>":()V
@indrabasak
indrabasak / ClassA.class
Created September 14, 2017 20:55
ClassA.class hex
CAFEBABE 00000034 003B0A00 10002709 000F0028 09000F00
2907002A 0A000400 2707002B 0A000600 2708002C 0A000600
2D08002E 0A000600 2F080030 0A000400 310A0006 00320700
33070034 0100096D 79417474 72696231 0100124C 6A617661
2F6C616E 672F5374 72696E67 3B010009 6D794174 74726962
32010001 49010006 3C696E69 743E0100 03282956 01000443
6F646501 000F4C69 6E654E75 6D626572 5461626C 65010012
4C6F6361 6C566172 6961626C 65546162 6C650100 04746869
7301001B 4C657861 6D706C65 2F73696D 706C652F 6170702F
@indrabasak
indrabasak / ClassA.java
Last active September 14, 2017 18:03
Classfile Layout example
package example.simple.app;
public class ClassA {
private String myAttrib1;
private int myAttrib2;
public String methodX(String param1, int param2) {
myAttrib1 = param1;
@indrabasak
indrabasak / log4j2.xml
Created September 4, 2017 22:11
Anatomy of a bug with error appender
<?xml version="1.0" encoding="UTF-8" ?>
<Configuration>
<Appenders>
...
<RollingFile name="responseLogFile" fileName="/usr/local/abc/zuul/log/response.log"
filePattern="/usr/local/abc/zuul/log/response.log-%d{yyyy-MM-dd-HH}{UTC}-utc">
<PatternLayout pattern="%d{yyyy-MM-dd'T'HH:mm:ss.SSSZZ}: [%p] %t %c - %m%n" />
<Policies>
<TimeBasedTriggeringPolicy />
</Policies>
@indrabasak
indrabasak / log4j2.xml
Created September 4, 2017 22:05
Anatomy of a Bug - non-blocking
<Async name="asyncResponseLog">
<AppenderRef ref="responseLogFile" />
<bufferSize>5</bufferSize>
<blocking>false</blocking>
</Async>
@indrabasak
indrabasak / log4j2.xml
Created September 4, 2017 20:21
Anatomy of a Bug - reduced response appender buffer size
<Async name="asyncResponseLog">
<AppenderRef ref="responseLogFile" />
<bufferSize>5</bufferSize>
</Async>
@indrabasak
indrabasak / log4j2.xml
Created September 2, 2017 05:33
Anatomy of a Bug - modified log4j Config
<?xml version="1.0" encoding="UTF-8" ?>
<Configuration>
...
<Loggers>
<Logger name="requestLog" level="info" additivity="false">
<AppenderRef ref="asyncRequestLog"/>
<blocking>false</blocking>
</Logger>
<Logger name="responseLog" level="info" additivity="false">
<AppenderRef ref="asyncResponseLog"/>
@indrabasak
indrabasak / log4j2.xml
Last active September 2, 2017 23:25
Anatomy of a Bug
<?xml version="1.0" encoding="UTF-8" ?>
<Configuration>
<Appenders>
<RollingFile name="requestLogFile" fileName="/usr/local/abc/zuul/log/request.log"
filePattern="/usr/local/abc/zuul/log/request.log-%d{yyyy-MM-dd-HH}{UTC}-utc">
<PatternLayout pattern="%d{yyyy-MM-dd'T'HH:mm:ss.SSSZZ}: [%p] %t %c - %m%n" />
<Policies>
<TimeBasedTriggeringPolicy />
</Policies>
</RollingFile>
@indrabasak
indrabasak / application.yml
Created August 28, 2017 18:52
Hystrix Thread Pool Isolation Strategy
zuul:
sensitiveHeaders: Cookie,Set-Cookie
ignoredPatterns: /health/**
remove-semicolon-content: true
# doesn't work
# ribbonIsolationStrategy: THREAD
# threadPool:
# useSeparateThreadPools: true
routes:
serviceA: /v1/aaa/**
{
"a3f70349-1828-495a-b3a2-572719713e5a": {
"id": "a3f70349-1828-495a-b3a2-572719713e5a",
"name": "tiger-2",
"gender": "FEMALE"
},
"ce2a3ff5-2cff-4097-befd-80c72cf42c94": {
"id": "ce2a3ff5-2cff-4097-befd-80c72cf42c94",
"name": "tiger-1",
"gender": "MALE"