From d635d738db1b3abaeba21a9e303de0325263f4c6 Mon Sep 17 00:00:00 2001 From: zengqi <719883137@qq.com> Date: Thu, 24 Jun 2021 21:44:39 +0800 Subject: [PATCH 01/42] =?UTF-8?q?week1=20JVM=E5=BF=85=E5=81=9A=E9=A2=982,3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 01jvm/homework/Hello.xlass | 1 + 01jvm/homework/HelloClassLoader.java | 61 ++++++++++++++++++ ...5\345\255\230\346\250\241\345\236\213.png" | Bin 0 -> 142228 bytes ...345\255\230\346\250\241\345\236\213.xmind" | Bin 0 -> 91545 bytes 4 files changed, 62 insertions(+) create mode 100644 01jvm/homework/Hello.xlass create mode 100644 01jvm/homework/HelloClassLoader.java create mode 100644 "01jvm/homework/JVM\345\206\205\345\255\230\346\250\241\345\236\213.png" create mode 100644 "01jvm/homework/JVM\345\206\205\345\255\230\346\250\241\345\236\213.xmind" diff --git a/01jvm/homework/Hello.xlass b/01jvm/homework/Hello.xlass new file mode 100644 index 00000000..1d50c705 --- /dev/null +++ b/01jvm/homework/Hello.xlass @@ -0,0 +1 @@ +5EA’’’Ė’ćõ’ł’ńö’š’ļ÷’īõ’ķ’ģų’ėų’źž’łĆ–‘–‹Įž’ü×Ö©ž’ū¼›šž’š³–‘š±Š’š«ž“šž’ś—𓓐ž’õ¬Šœš¹–“šž’õ·š““Ń•ž‰žó’ų’÷ų’éó’č’ēž’ģ·š““Óߜ“žŒŒ³ž›šŽų’ęó’å’äž’ś·š““ž’ļ•ž‰žŠ“ž‘˜Š°•šœ‹ž’ļ•ž‰žŠ“ž‘˜Š¬†Œ‹š’ž’üŠ‹ž’곕ž‰žŠ–ŠÆ–‘‹¬‹šž’Äž’ģ•ž‰žŠ–ŠÆ–‘‹¬‹šž’ž’ų–‘‹“‘ž’ź×³•ž‰žŠ“ž‘˜Š¬‹–‘˜ÄÖ©’Ž’ś’ł’’’’’ż’ž’ų’÷’ž’ö’’’ā’ž’ž’’’śÕH’žN’’’ž’õ’’’ł’ž’’’ž’ž’ō’÷’ž’ö’’’Ś’ż’ž’’’öM’żķüI’ūN’’’ž’õ’’’õ’ż’’’ū’÷’ś’ž’ó’’’ż’ņ \ No newline at end of file diff --git a/01jvm/homework/HelloClassLoader.java b/01jvm/homework/HelloClassLoader.java new file mode 100644 index 00000000..bc049f4b --- /dev/null +++ b/01jvm/homework/HelloClassLoader.java @@ -0,0 +1,61 @@ +package homework; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + +/** + * @author Zeng Qi + * @description classloader demo + * @date 2021/1/7 22:18 + */ +public class HelloClassLoader extends ClassLoader { + private static String FILE_NAME = "F:\\github\\JavaCourseCodes\\01jvm\\homework\\Hello.xlass"; + + public static void main(String[] args) { + try { + Class clazz = new HelloClassLoader().findClass("Hello"); + Method declaredMethod = clazz.getDeclaredMethod("hello"); + declaredMethod.invoke(clazz.newInstance()); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } catch (InstantiationException e) { + e.printStackTrace(); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } + } + + @Override + protected Class findClass(String name) throws ClassNotFoundException { + File file = new File(FILE_NAME); + byte[] bytes = null; + try { + InputStream inputStream = new FileInputStream(file); + bytes = getDecodeBytes(inputStream); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return defineClass(name, bytes, 0, bytes.length); + } + + private byte[] getDecodeBytes(InputStream inputStream) throws IOException { + byte[] srcBytes = new byte[inputStream.available()]; + inputStream.read(srcBytes); + byte[] bytes = new byte[srcBytes.length]; + for (int i = 0; i < srcBytes.length; i++) { + bytes[i] = (byte) (255 - srcBytes[i]); + } + return bytes; + } +} diff --git "a/01jvm/homework/JVM\345\206\205\345\255\230\346\250\241\345\236\213.png" "b/01jvm/homework/JVM\345\206\205\345\255\230\346\250\241\345\236\213.png" new file mode 100644 index 0000000000000000000000000000000000000000..8d50d814da0b330ace9c21f1a65480e53b9c0fe4 GIT binary patch literal 142228 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�`qMtogE!R7D}-*EHDRtIZX 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

FJhOxKTl;RGr3 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 literal 0 HcmV?d00001 From 2f95490d0c94ad3d1f22ef17cb6eb66eb399b52e Mon Sep 17 00:00:00 2001 From: zengqi <719883137@qq.com> Date: Tue, 29 Jun 2021 15:50:41 +0800 Subject: [PATCH 02/42] fix a started jvm option error --- "01jvm/\347\216\257\345\242\203\345\207\206\345\244\207.txt" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/01jvm/\347\216\257\345\242\203\345\207\206\345\244\207.txt" "b/01jvm/\347\216\257\345\242\203\345\207\206\345\244\207.txt" index a1458b85..ba0250e9 100644 --- "a/01jvm/\347\216\257\345\242\203\345\207\206\345\244\207.txt" +++ "b/01jvm/\347\216\257\345\242\203\345\207\206\345\244\207.txt" @@ -34,5 +34,5 @@ mvn clean package é“¾ęŽ„ļ¼šhttps://pan.baidu.com/s/1NbpYX4M3YKLYM1JJeIzgSQ ęå–ē ļ¼šsp85 -java -jar -Xmx512m -Xms512 gateway-server-0.0.1-SNAPSHOT.jar +java -jar -Xmx512m -Xms512m gateway-server-0.0.1-SNAPSHOT.jar From 6af64f03bd21924421ee189b27472a08b941beb2 Mon Sep 17 00:00:00 2001 From: zengqi <719883137@qq.com> Date: Tue, 29 Jun 2021 16:23:12 +0800 Subject: [PATCH 03/42] =?UTF-8?q?=E9=80=89=E5=81=9A=E9=A2=982,5=E3=80=82?= =?UTF-8?q?=E9=81=97=E7=95=99=E4=B8=80=E4=B8=AA=E9=97=AE=E9=A2=98=E5=9C=A8?= =?UTF-8?q?=E5=85=B6=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 02nio/homework/Week02.md | 176 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 02nio/homework/Week02.md diff --git a/02nio/homework/Week02.md b/02nio/homework/Week02.md new file mode 100644 index 00000000..e44f1215 --- /dev/null +++ b/02nio/homework/Week02.md @@ -0,0 +1,176 @@ +1.ļ¼ˆé€‰åšļ¼‰ä½æē”Ø GCLogAnalysis.java č‡Ŗå·±ę¼”ē»ƒäø€éäø²č”Œ / 并蔌 /CMS/G1 ēš„ę”ˆä¾‹ć€‚ +``` +``` +2.ļ¼ˆé€‰åšļ¼‰ä½æē”ØåŽ‹ęµ‹å·„å…·ļ¼ˆwrk ꈖ sbļ¼‰ļ¼Œę¼”ē»ƒ gateway-server-0.0.1-SNAPSHOT.jar 示例。 + +åˆ†åˆ«ä½æē”Ø4和15å¹¶å‘åšęµ‹čÆ•ļ¼Œ4å¹¶å‘ę€§čƒ½ę›“å„½ļ¼Œč¶…čæ‡15ä¼šę— ę³•ę‰§č”Œ +java -jar -Xmx512m -Xms512m gateway-server-0.0.1-SNAPSHOT.jar + +sb -u http://localhost:8088/api/hello -c 4 -N 30 +``` +Starting at 2021/6/29 15:53:16 +[Press C to stop the test] +79228 (RPS: 2190.5) +---------------Finished!---------------- +Finished at 2021/6/29 15:53:53 (took 00:00:36.2180309) +Status 200: 79228 + +RPS: 2553 (requests/second) +Max: 2448ms +Min: 0ms +Avg: 0.2ms + + 50% below 0ms + 60% below 0ms + 70% below 0ms + 80% below 0ms + 90% below 0ms + 95% below 1ms + 98% below 1ms + 99% below 2ms +99.9% below 7ms +``` +sb -u http://localhost:8088/api/hello -c 15 -N 30 +``` +Starting at 2021/6/29 15:54:36 +[Press C to stop the test] +61320 (RPS: 1693.2) +---------------Finished!---------------- +Finished at 2021/6/29 15:55:13 (took 00:00:36.4190725) +Status 200: 61343 + +RPS: 1967.3 (requests/second) +Max: 126ms +Min: 0ms +Avg: 0.9ms + + 50% below 0ms + 60% below 0ms + 70% below 0ms + 80% below 1ms + 90% below 1ms + 95% below 4ms + 98% below 11ms + 99% below 17ms +99.9% below 36ms +``` +3.ļ¼ˆé€‰åšļ¼‰å¦‚ęžœč‡Ŗå·±ęœ¬åœ°ęœ‰åÆä»„čæč”Œēš„é”¹ē›®ļ¼ŒåÆä»„ęŒ‰ē…§ 2 ēš„ę–¹å¼čæ›č”Œę¼”ē»ƒć€‚ +``` +``` +4.ļ¼ˆåæ…åšļ¼‰ę ¹ę®äøŠčæ°č‡Ŗå·±åÆ¹äŗŽ 1 和 2 ēš„ę¼”ē¤ŗļ¼Œå†™äø€ę®µåÆ¹äŗŽäøåŒ GC å’Œå †å†…å­˜ēš„ę€»ē»“ļ¼Œęäŗ¤åˆ° GitHub怂 +``` +``` +5.ļ¼ˆé€‰åšļ¼‰čæč”ŒčÆ¾äøŠēš„ä¾‹å­ļ¼Œä»„åŠ Netty ēš„ä¾‹å­ļ¼Œåˆ†ęžē›øå…³ēŽ°č±”ć€‚ + +äø€ļ¼šåŽ‹ęµ‹HttpServer01,02,03äø‰äøŖēØ‹åŗļ¼š +1. ęµ‹čÆ•äŗ†å¤šę¬”ļ¼Œ-cå‚ę•°äøčƒ½čæ‡å¤§ļ¼Œęœ€å¤§åˆ°16å°±ę— ę³•čæč”Œļ¼ˆēŒœęµ‹å’ŒCPUę øę•°ęœ‰å…³ļ¼Œęœ¬ęœŗę˜Æ4ę ø4Cļ¼‰ļ¼Œ +å¤šę¬”åŽ‹ęµ‹å‘ēŽ°é…ē½®å¹¶å‘ę•°äøŗ4,RPSęœ€å¤§ +2. ä½æē”ØēŗæēØ‹ę± ęÆ”åˆ›å»ŗēŗæēØ‹ēš„RPSé«˜ļ¼ˆēŗæēØ‹å¤ē”Øå‡å°‘äŗ†ēŗæēØ‹åˆ›å»ŗå’Œé”€ęÆēš„ę¶ˆč€—ļ¼‰ +3. ä½†ę˜Æļ¼Œå•ēŗæēØ‹äø²č”Œę¶ˆč“¹RPSęœ€é«˜ļ¼Œčæ™äøŖå’ŒčÆ¾ä»¶ęœ‰č¾ƒå¤§å‡ŗå…„ļ¼ŸęœŖå¼„ęø…ę„šåŽŸå› ļ¼Œčæ˜ęœ›č€åøˆč§£ē­” + +ęµ‹čÆ•å‘½ä»¤å’Œę—„åæ—ļ¼š + sb -u http://localhost:8801 -c 4 -N 30 +``` +Starting at 2021/6/29 15:08:30 +[Press C to stop the test] +77127 (RPS: 3084.2) +---------------Finished!---------------- +Finished at 2021/6/29 15:08:55 (took 00:00:25.1405961) +Status 200: 77050 +Status 303: 77 + +RPS: 3650.6 (requests/second) +Max: 46ms +Min: 0ms +Avg: 0.1ms + + 50% below 0ms + 60% below 0ms + 70% below 0ms + 80% below 0ms + 90% below 0ms + 95% below 1ms + 98% below 1ms + 99% below 2ms +99.9% below 10ms +``` + +sb -u http://localhost:8801 -c 15 -N 30 +``` +Starting at 2021/6/29 15:13:54 +[Press C to stop the test] +62490 (RPS: 1780.9) +---------------Finished!---------------- +Finished at 2021/6/29 15:14:30 (took 00:00:35.2512733) +Status 303: 11208 +Status 200: 51336 + +RPS: 2008.1 (requests/second) +Max: 120ms +Min: 0ms +Avg: 1.9ms + + 50% below 0ms + 60% below 1ms + 70% below 1ms + 80% below 2ms + 90% below 6ms + 95% below 10ms + 98% below 15ms + 99% below 20ms +99.9% below 39ms +``` +sb -u http://localhost:8802 -c 4 -N 30 +``` +Starting at 2021/6/29 15:37:50 +[Press C to stop the test] +51154 (RPS: 1422.7) +---------------Finished!---------------- +Finished at 2021/6/29 15:38:26 (took 00:00:36.1621225) +Status 200: 50999 +Status 303: 156 + +RPS: 1640.3 (requests/second) +Max: 110ms +Min: 0ms +Avg: 1.5ms + + 50% below 1ms + 60% below 1ms + 70% below 1ms + 80% below 1ms + 90% below 2ms + 95% below 7ms + 98% below 10ms + 99% below 11ms +99.9% below 16ms +``` +sb -u http://localhost:8803 -c 8 -N 30 +``` +Starting at 2021/6/29 15:36:58 +[Press C to stop the test] +53684 (RPS: 1492.2) +---------------Finished!---------------- +Finished at 2021/6/29 15:37:34 (took 00:00:36.1072457) +Status 200: 52850 +Status 303: 854 + +RPS: 1726.6 (requests/second) +Max: 116ms +Min: 0ms +Avg: 1.4ms + + 50% below 0ms + 60% below 1ms + 70% below 1ms + 80% below 1ms + 90% below 3ms + 95% below 8ms + 98% below 12ms + 99% below 14ms +99.9% below 24ms +``` + +6.ļ¼ˆåæ…åšļ¼‰å†™äø€ę®µä»£ē ļ¼Œä½æē”Ø HttpClient ꈖ OkHttp 访问 http://localhost:8801 ļ¼Œä»£ē ęäŗ¤åˆ° GitHub +``` +``` \ No newline at end of file From 44f6980874f8dd149003690b81cf481b22c80de3 Mon Sep 17 00:00:00 2001 From: zengqi <719883137@qq.com> Date: Tue, 29 Jun 2021 17:24:41 +0800 Subject: [PATCH 04/42] =?UTF-8?q?=E9=80=89=E5=81=9A=E9=A2=981:=20=E4=B8=8D?= =?UTF-8?q?=E5=90=8CGC=E7=AD=96=E7=95=A5=E4=BD=BF=E7=94=A8512M=E5=A0=86?= =?UTF-8?q?=E5=86=85=E5=AD=98=E6=BC=94=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 01jvm/g1-gc.log | 2832 ++++++++++++++++++++++++++++++++++++++ 02nio/homework/Week02.md | 257 ++++ 2 files changed, 3089 insertions(+) create mode 100644 01jvm/g1-gc.log diff --git a/01jvm/g1-gc.log b/01jvm/g1-gc.log new file mode 100644 index 00000000..9f3599b6 --- /dev/null +++ b/01jvm/g1-gc.log @@ -0,0 +1,2832 @@ +Java HotSpot(TM) 64-Bit Server VM (25.192-b04) for windows-amd64 JRE (1.8.0_192-ea-b04), built on Aug 1 2018 20:11:41 by "java_re" with MS VC++ 10.0 (VS2010) +Memory: 4k page, physical 16688036k(9208328k free), swap 19702692k(8174500k free) +CommandLine flags: -XX:InitialHeapSize=536870912 -XX:MaxHeapSize=536870912 -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseG1GC -XX:-UseLargePagesIndividualAllocation +2021-06-29T17:22:43.946+0800: 0.134: [GC pause (G1 Evacuation Pause) (young), 0.0026437 secs] + [Parallel Time: 2.3 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 134.2, Avg: 134.6, Max: 135.5, Diff: 1.4] + [Ext Root Scanning (ms): Min: 0.0, Avg: 0.2, Max: 0.3, Diff: 0.3, Sum: 0.8] + [Update RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Processed Buffers: Min: 0, Avg: 0.0, Max: 0, Diff: 0, Sum: 0] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.6, Avg: 1.4, Max: 1.8, Diff: 1.2, Sum: 5.8] + [Termination (ms): Min: 0.0, Avg: 0.1, Max: 0.2, Diff: 0.2, Sum: 0.5] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.0, Sum: 0.2] + [GC Worker Total (ms): Min: 0.8, Avg: 1.8, Max: 2.2, Diff: 1.3, Sum: 7.3] + [GC Worker End (ms): Min: 136.4, Avg: 136.4, Max: 136.4, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.0 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 25.0M(25.0M)->0.0B(21.0M) Survivors: 0.0B->4096.0K Heap: 30.7M(512.0M)->9603.9K(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:43.958+0800: 0.146: [GC pause (G1 Evacuation Pause) (young), 0.0027462 secs] + [Parallel Time: 2.0 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 146.4, Avg: 146.9, Max: 148.2, Diff: 1.8] + [Ext Root Scanning (ms): Min: 0.0, Avg: 0.2, Max: 0.2, Diff: 0.2, Sum: 0.6] + [Update RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Processed Buffers: Min: 0, Avg: 0.3, Max: 1, Diff: 1, Sum: 1] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.0, Avg: 1.2, Max: 1.7, Diff: 1.7, Sum: 4.8] + [Termination (ms): Min: 0.0, Avg: 0.1, Max: 0.2, Diff: 0.2, Sum: 0.4] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.1, Avg: 1.5, Max: 1.9, Diff: 1.8, Sum: 5.9] + [GC Worker End (ms): Min: 148.3, Avg: 148.3, Max: 148.3, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.3 ms] + [Other: 0.5 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.2 ms] + [Humongous Register: 0.0 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.1 ms] + [Eden: 21.0M(21.0M)->0.0B(26.0M) Survivors: 4096.0K->4096.0K Heap: 35.3M(512.0M)->16.6M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:43.975+0800: 0.163: [GC pause (G1 Evacuation Pause) (young), 0.0039276 secs] + [Parallel Time: 2.9 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 163.3, Avg: 163.4, Max: 163.4, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.7] + [Update RS (ms): Min: 0.0, Avg: 0.1, Max: 0.2, Diff: 0.2, Sum: 0.3] + [Processed Buffers: Min: 1, Avg: 1.5, Max: 3, Diff: 2, Sum: 6] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 2.3, Avg: 2.5, Max: 2.5, Diff: 0.2, Sum: 9.8] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 2.7, Avg: 2.8, Max: 2.8, Diff: 0.1, Sum: 11.0] + [GC Worker End (ms): Min: 166.1, Avg: 166.1, Max: 166.2, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.4 ms] + [Other: 0.6 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.2 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.2 ms] + [Humongous Register: 0.0 ms] + [Humongous Reclaim: 0.1 ms] + [Free CSet: 0.0 ms] + [Eden: 26.0M(26.0M)->0.0B(35.0M) Survivors: 4096.0K->4096.0K Heap: 51.7M(512.0M)->29.8M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.01 secs] +2021-06-29T17:22:43.989+0800: 0.177: [GC pause (G1 Evacuation Pause) (young), 0.0036979 secs] + [Parallel Time: 3.2 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 177.0, Avg: 177.0, Max: 177.0, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.8] + [Update RS (ms): Min: 0.3, Avg: 0.4, Max: 0.4, Diff: 0.1, Sum: 1.4] + [Processed Buffers: Min: 5, Avg: 7.3, Max: 9, Diff: 4, Sum: 29] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 2.2, Avg: 2.3, Max: 2.5, Diff: 0.2, Sum: 9.4] + [Termination (ms): Min: 0.0, Avg: 0.1, Max: 0.3, Diff: 0.3, Sum: 0.6] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 3.0, Avg: 3.0, Max: 3.1, Diff: 0.0, Sum: 12.2] + [GC Worker End (ms): Min: 180.0, Avg: 180.0, Max: 180.0, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.4 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.0 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 35.0M(35.0M)->0.0B(98.0M) Survivors: 4096.0K->5120.0K Heap: 69.9M(512.0M)->41.0M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.050+0800: 0.238: [GC pause (G1 Evacuation Pause) (young), 0.0069742 secs] + [Parallel Time: 6.1 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 238.0, Avg: 238.0, Max: 238.1, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.8] + [Update RS (ms): Min: 0.1, Avg: 0.1, Max: 0.1, Diff: 0.0, Sum: 0.4] + [Processed Buffers: Min: 2, Avg: 2.3, Max: 3, Diff: 1, Sum: 9] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 5.6, Avg: 5.6, Max: 5.7, Diff: 0.1, Sum: 22.4] + [Termination (ms): Min: 0.0, Avg: 0.1, Max: 0.1, Diff: 0.1, Sum: 0.3] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 5.9, Avg: 6.0, Max: 6.0, Diff: 0.1, Sum: 24.0] + [GC Worker End (ms): Min: 244.0, Avg: 244.0, Max: 244.0, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.2 ms] + [Other: 0.7 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.3 ms] + [Humongous Register: 0.0 ms] + [Humongous Reclaim: 0.1 ms] + [Free CSet: 0.1 ms] + [Eden: 98.0M(98.0M)->0.0B(51.0M) Survivors: 5120.0K->13.0M Heap: 161.8M(512.0M)->79.6M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.01 secs] +2021-06-29T17:22:44.069+0800: 0.257: [GC pause (G1 Evacuation Pause) (young), 0.0049613 secs] + [Parallel Time: 4.1 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 257.3, Avg: 257.3, Max: 257.4, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.8] + [Update RS (ms): Min: 0.1, Avg: 0.1, Max: 0.1, Diff: 0.0, Sum: 0.5] + [Processed Buffers: Min: 1, Avg: 2.3, Max: 3, Diff: 2, Sum: 9] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 3.4, Avg: 3.5, Max: 3.6, Diff: 0.2, Sum: 14.1] + [Termination (ms): Min: 0.0, Avg: 0.1, Max: 0.2, Diff: 0.2, Sum: 0.3] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 3.9, Avg: 4.0, Max: 4.0, Diff: 0.1, Sum: 15.9] + [GC Worker End (ms): Min: 261.3, Avg: 261.3, Max: 261.3, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.3 ms] + [Other: 0.6 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.3 ms] + [Humongous Register: 0.0 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 51.0M(51.0M)->0.0B(106.0M) Survivors: 13.0M->8192.0K Heap: 146.6M(512.0M)->100.3M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.098+0800: 0.286: [GC pause (G1 Evacuation Pause) (young), 0.0074562 secs] + [Parallel Time: 7.1 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 285.7, Avg: 285.8, Max: 285.8, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.8] + [Update RS (ms): Min: 0.1, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.6] + [Processed Buffers: Min: 1, Avg: 2.5, Max: 3, Diff: 2, Sum: 10] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 6.6, Avg: 6.6, Max: 6.6, Diff: 0.1, Sum: 26.5] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 7.0, Avg: 7.0, Max: 7.1, Diff: 0.1, Sum: 28.1] + [GC Worker End (ms): Min: 292.8, Avg: 292.8, Max: 292.8, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.0 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 106.0M(106.0M)->0.0B(125.0M) Survivors: 8192.0K->15.0M Heap: 225.0M(512.0M)->138.1M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.01 secs] +2021-06-29T17:22:44.144+0800: 0.331: [GC pause (G1 Evacuation Pause) (young), 0.0108468 secs] + [Parallel Time: 10.3 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 331.6, Avg: 331.6, Max: 331.7, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.8] + [Update RS (ms): Min: 0.2, Avg: 0.2, Max: 0.3, Diff: 0.0, Sum: 0.9] + [Processed Buffers: Min: 3, Avg: 4.0, Max: 5, Diff: 2, Sum: 16] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 9.6, Avg: 9.6, Max: 9.6, Diff: 0.0, Sum: 38.5] + [Termination (ms): Min: 0.0, Avg: 0.1, Max: 0.1, Diff: 0.1, Sum: 0.2] + [Termination Attempts: Min: 1, Avg: 1.3, Max: 2, Diff: 1, Sum: 5] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 10.1, Avg: 10.1, Max: 10.2, Diff: 0.1, Sum: 40.5] + [GC Worker End (ms): Min: 341.7, Avg: 341.7, Max: 341.7, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.5 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.3 ms] + [Humongous Register: 0.0 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.1 ms] + [Eden: 125.0M(125.0M)->0.0B(200.0M) Survivors: 15.0M->18.0M Heap: 295.4M(512.0M)->189.0M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.01 secs] +2021-06-29T17:22:44.172+0800: 0.360: [GC pause (G1 Humongous Allocation) (young) (initial-mark), 0.0062562 secs] + [Parallel Time: 5.3 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 359.8, Avg: 359.9, Max: 359.9, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.8] + [Update RS (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Processed Buffers: Min: 1, Avg: 3.0, Max: 4, Diff: 3, Sum: 12] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 4.5, Avg: 4.5, Max: 4.7, Diff: 0.2, Sum: 18.2] + [Termination (ms): Min: 0.0, Avg: 0.2, Max: 0.2, Diff: 0.2, Sum: 0.6] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 5.0, Avg: 5.1, Max: 5.1, Diff: 0.1, Sum: 20.4] + [GC Worker End (ms): Min: 365.0, Avg: 365.0, Max: 365.0, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.2 ms] + [Other: 0.8 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.3 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.3 ms] + [Humongous Register: 0.0 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 80.0M(200.0M)->0.0B(168.0M) Survivors: 18.0M->26.0M Heap: 288.9M(512.0M)->220.3M(512.0M)] + [Times: user=0.06 sys=0.00, real=0.01 secs] +2021-06-29T17:22:44.179+0800: 0.366: [GC concurrent-root-region-scan-start] +2021-06-29T17:22:44.179+0800: 0.366: [GC concurrent-root-region-scan-end, 0.0002088 secs] +2021-06-29T17:22:44.179+0800: 0.366: [GC concurrent-mark-start] +2021-06-29T17:22:44.182+0800: 0.369: [GC concurrent-mark-end, 0.0029816 secs] +2021-06-29T17:22:44.182+0800: 0.370: [GC remark 2021-06-29T17:22:44.182+0800: 0.370: [Finalize Marking, 0.0001574 secs] 2021-06-29T17:22:44.182+0800: 0.370: [GC ref-proc, 0.0002553 secs] 2021-06-29T17:22:44.183+0800: 0.370: [Unloading, 0.0005587 secs], 0.0014394 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.184+0800: 0.371: [GC cleanup 241M->241M(512M), 0.0011041 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.242+0800: 0.429: [GC pause (G1 Evacuation Pause) (young) (to-space exhausted), 0.0061164 secs] + [Parallel Time: 5.4 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 429.4, Avg: 429.4, Max: 429.5, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.8] + [Processed Buffers: Min: 1, Avg: 3.3, Max: 4, Diff: 3, Sum: 13] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 4.9, Avg: 4.9, Max: 4.9, Diff: 0.0, Sum: 19.7] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 5.3, Avg: 5.3, Max: 5.4, Diff: 0.1, Sum: 21.4] + [GC Worker End (ms): Min: 434.8, Avg: 434.8, Max: 434.8, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.6 ms] + [Evacuation Failure: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.1 ms] + [Free CSet: 0.0 ms] + [Eden: 168.0M(168.0M)->0.0B(5120.0K) Survivors: 26.0M->21.0M Heap: 429.5M(512.0M)->363.8M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.01 secs] +2021-06-29T17:22:44.249+0800: 0.437: [GC pause (G1 Evacuation Pause) (mixed), 0.0035625 secs] + [Parallel Time: 3.3 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 436.6, Avg: 436.7, Max: 436.8, Diff: 0.2] + [Ext Root Scanning (ms): Min: 0.0, Avg: 0.2, Max: 0.3, Diff: 0.2, Sum: 0.7] + [Update RS (ms): Min: 0.0, Avg: 0.1, Max: 0.1, Diff: 0.0, Sum: 0.2] + [Processed Buffers: Min: 1, Avg: 2.3, Max: 3, Diff: 2, Sum: 9] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 2.8, Avg: 2.9, Max: 2.9, Diff: 0.0, Sum: 11.4] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 3.0, Avg: 3.1, Max: 3.2, Diff: 0.2, Sum: 12.5] + [GC Worker End (ms): Min: 439.8, Avg: 439.8, Max: 439.8, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.0 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 5120.0K(5120.0K)->0.0B(63.0M) Survivors: 21.0M->2048.0K Heap: 368.8M(512.0M)->346.7M(512.0M)] + [Times: user=0.02 sys=0.05, real=0.00 secs] +2021-06-29T17:22:44.253+0800: 0.441: [GC pause (G1 Humongous Allocation) (young) (initial-mark), 0.0010438 secs] + [Parallel Time: 0.5 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 440.8, Avg: 440.8, Max: 440.8, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.7] + [Update RS (ms): Min: 0.0, Avg: 0.1, Max: 0.1, Diff: 0.0, Sum: 0.2] + [Processed Buffers: Min: 1, Avg: 1.3, Max: 2, Diff: 1, Sum: 5] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.1, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.7] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.4, Avg: 0.4, Max: 0.5, Diff: 0.0, Sum: 1.7] + [GC Worker End (ms): Min: 441.2, Avg: 441.2, Max: 441.2, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.2 ms] + [Other: 0.4 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.0 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 3072.0K(63.0M)->0.0B(62.0M) Survivors: 2048.0K->3072.0K Heap: 349.5M(512.0M)->347.8M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.255+0800: 0.442: [GC concurrent-root-region-scan-start] +2021-06-29T17:22:44.255+0800: 0.442: [GC concurrent-root-region-scan-end, 0.0001882 secs] +2021-06-29T17:22:44.255+0800: 0.442: [GC concurrent-mark-start] +2021-06-29T17:22:44.258+0800: 0.446: [GC concurrent-mark-end, 0.0035263 secs] +2021-06-29T17:22:44.259+0800: 0.446: [GC remark 2021-06-29T17:22:44.259+0800: 0.446: [Finalize Marking, 0.0001379 secs] 2021-06-29T17:22:44.259+0800: 0.446: [GC ref-proc, 0.0002227 secs] 2021-06-29T17:22:44.259+0800: 0.446: [Unloading, 0.0005016 secs], 0.0015083 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.260+0800: 0.448: [GC cleanup 371M->371M(512M), 0.0006626 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.269+0800: 0.456: [GC pause (G1 Evacuation Pause) (young), 0.0033142 secs] + [Parallel Time: 2.8 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 456.2, Avg: 456.3, Max: 456.3, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.9] + [Processed Buffers: Min: 2, Avg: 3.5, Max: 4, Diff: 2, Sum: 14] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 2.3, Avg: 2.3, Max: 2.3, Diff: 0.1, Sum: 9.1] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 2.7, Avg: 2.7, Max: 2.8, Diff: 0.1, Sum: 10.9] + [GC Worker End (ms): Min: 459.0, Avg: 459.0, Max: 459.0, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.4 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 62.0M(62.0M)->0.0B(16.0M) Survivors: 3072.0K->9216.0K Heap: 422.9M(512.0M)->375.1M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.275+0800: 0.463: [GC pause (G1 Evacuation Pause) (mixed), 0.0031114 secs] + [Parallel Time: 2.4 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 462.8, Avg: 462.8, Max: 462.9, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.3, Avg: 0.4, Max: 0.4, Diff: 0.0, Sum: 1.5] + [Processed Buffers: Min: 3, Avg: 6.0, Max: 7, Diff: 4, Sum: 24] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 1.6, Avg: 1.7, Max: 1.7, Diff: 0.1, Sum: 6.6] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.2] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 2.3, Avg: 2.3, Max: 2.3, Diff: 0.1, Sum: 9.1] + [GC Worker End (ms): Min: 465.1, Avg: 465.1, Max: 465.1, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.2 ms] + [Other: 0.5 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.2 ms] + [Humongous Register: 0.0 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.1 ms] + [Eden: 16.0M(16.0M)->0.0B(21.0M) Survivors: 9216.0K->4096.0K Heap: 395.1M(512.0M)->330.4M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.281+0800: 0.469: [GC pause (G1 Evacuation Pause) (mixed), 0.0032475 secs] + [Parallel Time: 2.9 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 469.3, Avg: 469.3, Max: 469.4, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.8] + [Update RS (ms): Min: 0.2, Avg: 0.2, Max: 0.3, Diff: 0.0, Sum: 0.9] + [Processed Buffers: Min: 2, Avg: 4.0, Max: 5, Diff: 3, Sum: 16] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 2.3, Avg: 2.3, Max: 2.4, Diff: 0.1, Sum: 9.3] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 2.8, Avg: 2.8, Max: 2.9, Diff: 0.1, Sum: 11.3] + [GC Worker End (ms): Min: 472.1, Avg: 472.1, Max: 472.1, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.0 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 21.0M(21.0M)->0.0B(21.0M) Survivors: 4096.0K->4096.0K Heap: 357.9M(512.0M)->298.3M(512.0M)] + [Times: user=0.06 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.288+0800: 0.476: [GC pause (G1 Evacuation Pause) (mixed), 0.0038647 secs] + [Parallel Time: 3.4 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 476.2, Avg: 476.2, Max: 476.3, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.3, Diff: 0.1, Sum: 0.8] + [Update RS (ms): Min: 0.3, Avg: 0.3, Max: 0.3, Diff: 0.0, Sum: 1.1] + [Processed Buffers: Min: 3, Avg: 4.8, Max: 6, Diff: 3, Sum: 19] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 2.7, Avg: 2.7, Max: 2.7, Diff: 0.0, Sum: 10.9] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 3.2, Avg: 3.3, Max: 3.3, Diff: 0.1, Sum: 13.1] + [GC Worker End (ms): Min: 479.5, Avg: 479.5, Max: 479.5, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.4 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.2 ms] + [Humongous Register: 0.0 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.1 ms] + [Eden: 21.0M(21.0M)->0.0B(21.0M) Survivors: 4096.0K->4096.0K Heap: 321.9M(512.0M)->274.0M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.295+0800: 0.483: [GC pause (G1 Evacuation Pause) (mixed), 0.0026807 secs] + [Parallel Time: 2.0 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 483.6, Avg: 483.6, Max: 483.7, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.7] + [Update RS (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.8] + [Processed Buffers: Min: 3, Avg: 3.8, Max: 4, Diff: 1, Sum: 15] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 1.5, Avg: 1.5, Max: 1.5, Diff: 0.1, Sum: 6.0] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.2] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 1.9, Avg: 2.0, Max: 2.0, Diff: 0.1, Sum: 7.8] + [GC Worker End (ms): Min: 485.6, Avg: 485.6, Max: 485.6, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.2 ms] + [Other: 0.4 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.0 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.2 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 21.0M(21.0M)->0.0B(111.0M) Survivors: 4096.0K->4096.0K Heap: 296.2M(512.0M)->276.5M(512.0M)] + [Times: user=0.03 sys=0.03, real=0.00 secs] +2021-06-29T17:22:44.299+0800: 0.486: [GC pause (G1 Humongous Allocation) (young) (initial-mark), 0.0013558 secs] + [Parallel Time: 0.6 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 486.5, Avg: 486.5, Max: 486.5, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.0, Sum: 0.2] + [Processed Buffers: Min: 1, Avg: 1.3, Max: 2, Diff: 1, Sum: 5] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.3, Avg: 0.3, Max: 0.3, Diff: 0.1, Sum: 1.3] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.6, Avg: 0.6, Max: 0.6, Diff: 0.0, Sum: 2.2] + [GC Worker End (ms): Min: 487.0, Avg: 487.0, Max: 487.0, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.3 ms] + [Other: 0.5 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.2 ms] + [Humongous Register: 0.0 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 1024.0K(111.0M)->0.0B(117.0M) Survivors: 4096.0K->4096.0K Heap: 276.6M(512.0M)->276.4M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.301+0800: 0.488: [GC concurrent-root-region-scan-start] +2021-06-29T17:22:44.301+0800: 0.488: [GC concurrent-root-region-scan-end, 0.0001658 secs] +2021-06-29T17:22:44.301+0800: 0.488: [GC concurrent-mark-start] +2021-06-29T17:22:44.304+0800: 0.491: [GC concurrent-mark-end, 0.0030673 secs] +2021-06-29T17:22:44.304+0800: 0.491: [GC remark 2021-06-29T17:22:44.304+0800: 0.491: [Finalize Marking, 0.0001367 secs] 2021-06-29T17:22:44.304+0800: 0.492: [GC ref-proc, 0.0001936 secs] 2021-06-29T17:22:44.305+0800: 0.492: [Unloading, 0.0004961 secs], 0.0015395 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.305+0800: 0.493: [GC cleanup 305M->305M(512M), 0.0003705 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.322+0800: 0.510: [GC pause (G1 Evacuation Pause) (young), 0.0046631 secs] + [Parallel Time: 4.1 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 510.0, Avg: 510.0, Max: 510.1, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.8] + [Update RS (ms): Min: 0.3, Avg: 0.4, Max: 0.4, Diff: 0.0, Sum: 1.4] + [Processed Buffers: Min: 3, Avg: 5.8, Max: 7, Diff: 4, Sum: 23] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 3.5, Avg: 3.5, Max: 3.5, Diff: 0.0, Sum: 13.9] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 4.0, Avg: 4.1, Max: 4.1, Diff: 0.1, Sum: 16.3] + [GC Worker End (ms): Min: 514.1, Avg: 514.1, Max: 514.1, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.5 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.0 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.2 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.1 ms] + [Eden: 117.0M(117.0M)->0.0B(9216.0K) Survivors: 4096.0K->16.0M Heap: 423.9M(512.0M)->319.1M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.328+0800: 0.516: [GC pause (G1 Evacuation Pause) (mixed), 0.0045106 secs] + [Parallel Time: 3.9 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 516.3, Avg: 516.4, Max: 516.4, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.8] + [Update RS (ms): Min: 0.3, Avg: 0.3, Max: 0.3, Diff: 0.0, Sum: 1.2] + [Processed Buffers: Min: 3, Avg: 4.8, Max: 6, Diff: 3, Sum: 19] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 3.3, Avg: 3.3, Max: 3.3, Diff: 0.0, Sum: 13.1] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 3.8, Avg: 3.8, Max: 3.9, Diff: 0.1, Sum: 15.2] + [GC Worker End (ms): Min: 520.2, Avg: 520.2, Max: 520.2, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.5 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.2 ms] + [Humongous Register: 0.0 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.1 ms] + [Eden: 9216.0K(9216.0K)->0.0B(98.0M) Survivors: 16.0M->4096.0K Heap: 330.9M(512.0M)->295.9M(512.0M)] + [Times: user=0.06 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.333+0800: 0.521: [GC pause (G1 Humongous Allocation) (young) (initial-mark), 0.0011143 secs] + [Parallel Time: 0.6 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 521.2, Avg: 521.2, Max: 521.3, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.0, Avg: 0.1, Max: 0.1, Diff: 0.0, Sum: 0.2] + [Processed Buffers: Min: 1, Avg: 1.3, Max: 2, Diff: 1, Sum: 5] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.3, Avg: 0.3, Max: 0.3, Diff: 0.0, Sum: 1.1] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.5, Avg: 0.5, Max: 0.6, Diff: 0.0, Sum: 2.1] + [GC Worker End (ms): Min: 521.8, Avg: 521.8, Max: 521.8, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.4 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.2 ms] + [Humongous Register: 0.0 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 1024.0K(98.0M)->0.0B(101.0M) Survivors: 4096.0K->4096.0K Heap: 296.0M(512.0M)->295.7M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.335+0800: 0.522: [GC concurrent-root-region-scan-start] +2021-06-29T17:22:44.335+0800: 0.523: [GC concurrent-root-region-scan-end, 0.0001771 secs] +2021-06-29T17:22:44.335+0800: 0.523: [GC concurrent-mark-start] +2021-06-29T17:22:44.338+0800: 0.526: [GC concurrent-mark-end, 0.0033648 secs] +2021-06-29T17:22:44.339+0800: 0.526: [GC remark 2021-06-29T17:22:44.339+0800: 0.526: [Finalize Marking, 0.0002057 secs] 2021-06-29T17:22:44.339+0800: 0.526: [GC ref-proc, 0.0002007 secs] 2021-06-29T17:22:44.339+0800: 0.527: [Unloading, 0.0004987 secs], 0.0016354 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.340+0800: 0.528: [GC cleanup 320M->320M(512M), 0.0004096 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.357+0800: 0.545: [GC pause (G1 Evacuation Pause) (young) (to-space exhausted), 0.0039137 secs] + [Parallel Time: 3.2 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 544.7, Avg: 544.7, Max: 544.8, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.5, Avg: 0.5, Max: 0.5, Diff: 0.0, Sum: 1.9] + [Processed Buffers: Min: 5, Avg: 7.8, Max: 9, Diff: 4, Sum: 31] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 2.4, Avg: 2.4, Max: 2.4, Diff: 0.1, Sum: 9.6] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 3.1, Avg: 3.1, Max: 3.1, Diff: 0.1, Sum: 12.4] + [GC Worker End (ms): Min: 547.8, Avg: 547.8, Max: 547.8, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.6 ms] + [Evacuation Failure: 0.2 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.2 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.1 ms] + [Free CSet: 0.1 ms] + [Eden: 101.0M(101.0M)->0.0B(11.0M) Survivors: 4096.0K->14.0M Heap: 431.6M(512.0M)->369.9M(512.0M)] + [Times: user=0.06 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.363+0800: 0.551: [GC pause (G1 Evacuation Pause) (mixed), 0.0051344 secs] + [Parallel Time: 4.4 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 551.2, Avg: 551.3, Max: 551.3, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.8] + [Update RS (ms): Min: 0.3, Avg: 0.3, Max: 0.3, Diff: 0.0, Sum: 1.3] + [Processed Buffers: Min: 3, Avg: 5.5, Max: 7, Diff: 4, Sum: 22] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 3.7, Avg: 3.8, Max: 3.8, Diff: 0.0, Sum: 15.0] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 4.3, Avg: 4.3, Max: 4.4, Diff: 0.1, Sum: 17.3] + [GC Worker End (ms): Min: 555.6, Avg: 555.6, Max: 555.6, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.6 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.2 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.1 ms] + [Eden: 11.0M(11.0M)->0.0B(56.0M) Survivors: 14.0M->4096.0K Heap: 384.9M(512.0M)->349.7M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.01 secs] +2021-06-29T17:22:44.369+0800: 0.557: [GC pause (G1 Humongous Allocation) (young) (initial-mark), 0.0013574 secs] + [Parallel Time: 0.7 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 557.5, Avg: 557.5, Max: 557.6, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.8] + [Update RS (ms): Min: 0.1, Avg: 0.1, Max: 0.1, Diff: 0.0, Sum: 0.3] + [Processed Buffers: Min: 1, Avg: 1.3, Max: 2, Diff: 1, Sum: 5] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.3, Avg: 0.4, Max: 0.4, Diff: 0.1, Sum: 1.5] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.6, Avg: 0.7, Max: 0.7, Diff: 0.1, Sum: 2.7] + [GC Worker End (ms): Min: 558.2, Avg: 558.2, Max: 558.2, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.2 ms] + [Other: 0.4 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 4096.0K(56.0M)->0.0B(57.0M) Survivors: 4096.0K->5120.0K Heap: 353.0M(512.0M)->350.8M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.371+0800: 0.559: [GC concurrent-root-region-scan-start] +2021-06-29T17:22:44.371+0800: 0.559: [GC concurrent-root-region-scan-end, 0.0001762 secs] +2021-06-29T17:22:44.371+0800: 0.559: [GC concurrent-mark-start] +2021-06-29T17:22:44.375+0800: 0.562: [GC concurrent-mark-end, 0.0034093 secs] +2021-06-29T17:22:44.375+0800: 0.563: [GC remark 2021-06-29T17:22:44.375+0800: 0.563: [Finalize Marking, 0.0001434 secs] 2021-06-29T17:22:44.375+0800: 0.563: [GC ref-proc, 0.0001743 secs] 2021-06-29T17:22:44.375+0800: 0.563: [Unloading, 0.0004885 secs], 0.0016193 secs] + [Times: user=0.06 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.377+0800: 0.564: [GC cleanup 374M->372M(512M), 0.0003610 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.377+0800: 0.565: [GC concurrent-cleanup-start] +2021-06-29T17:22:44.377+0800: 0.565: [GC concurrent-cleanup-end, 0.0000099 secs] +2021-06-29T17:22:44.384+0800: 0.572: [GC pause (G1 Evacuation Pause) (young), 0.0034688 secs] + [Parallel Time: 2.8 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 572.3, Avg: 572.4, Max: 572.4, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.6, Avg: 0.6, Max: 0.6, Diff: 0.0, Sum: 2.3] + [Processed Buffers: Min: 8, Avg: 9.8, Max: 11, Diff: 3, Sum: 39] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 1.9, Avg: 1.9, Max: 1.9, Diff: 0.0, Sum: 7.7] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 2.7, Avg: 2.7, Max: 2.7, Diff: 0.1, Sum: 10.8] + [GC Worker End (ms): Min: 575.1, Avg: 575.1, Max: 575.1, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.2 ms] + [Other: 0.5 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.2 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 57.0M(57.0M)->0.0B(17.0M) Survivors: 5120.0K->8192.0K Heap: 422.6M(512.0M)->370.2M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.390+0800: 0.578: [GC pause (G1 Evacuation Pause) (mixed), 0.0032746 secs] + [Parallel Time: 2.7 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 578.3, Avg: 578.4, Max: 578.4, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.7] + [Update RS (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Processed Buffers: Min: 3, Avg: 3.5, Max: 4, Diff: 1, Sum: 14] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 2.2, Avg: 2.2, Max: 2.2, Diff: 0.0, Sum: 8.8] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 2.6, Avg: 2.6, Max: 2.6, Diff: 0.0, Sum: 10.4] + [GC Worker End (ms): Min: 581.0, Avg: 581.0, Max: 581.0, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.5 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.2 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.1 ms] + [Eden: 17.0M(17.0M)->0.0B(21.0M) Survivors: 8192.0K->4096.0K Heap: 388.3M(512.0M)->335.8M(512.0M)] + [Times: user=0.02 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.397+0800: 0.585: [GC pause (G1 Evacuation Pause) (mixed), 0.0045126 secs] + [Parallel Time: 4.1 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 585.1, Avg: 585.1, Max: 585.2, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.8] + [Update RS (ms): Min: 0.4, Avg: 0.4, Max: 0.4, Diff: 0.0, Sum: 1.6] + [Processed Buffers: Min: 4, Avg: 6.0, Max: 8, Diff: 4, Sum: 24] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 3.4, Avg: 3.4, Max: 3.4, Diff: 0.0, Sum: 13.5] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 4.0, Avg: 4.0, Max: 4.0, Diff: 0.1, Sum: 16.0] + [GC Worker End (ms): Min: 589.1, Avg: 589.1, Max: 589.1, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.4 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.1 ms] + [Eden: 21.0M(21.0M)->0.0B(77.0M) Survivors: 4096.0K->4096.0K Heap: 360.7M(512.0M)->320.6M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.402+0800: 0.590: [GC pause (G1 Humongous Allocation) (young) (initial-mark), 0.0012793 secs] + [Parallel Time: 0.7 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 590.0, Avg: 590.0, Max: 590.1, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.8] + [Update RS (ms): Min: 0.0, Avg: 0.1, Max: 0.1, Diff: 0.0, Sum: 0.3] + [Processed Buffers: Min: 1, Avg: 1.3, Max: 2, Diff: 1, Sum: 5] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.3, Avg: 0.3, Max: 0.3, Diff: 0.0, Sum: 1.2] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.5, Avg: 0.6, Max: 0.6, Diff: 0.1, Sum: 2.3] + [GC Worker End (ms): Min: 590.6, Avg: 590.6, Max: 590.6, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.2 ms] + [Other: 0.4 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.2 ms] + [Humongous Register: 0.0 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 2048.0K(77.0M)->0.0B(80.0M) Survivors: 4096.0K->5120.0K Heap: 321.8M(512.0M)->320.6M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.403+0800: 0.591: [GC concurrent-root-region-scan-start] +2021-06-29T17:22:44.404+0800: 0.592: [GC concurrent-root-region-scan-end, 0.0002016 secs] +2021-06-29T17:22:44.404+0800: 0.592: [GC concurrent-mark-start] +2021-06-29T17:22:44.407+0800: 0.595: [GC concurrent-mark-end, 0.0034077 secs] +2021-06-29T17:22:44.407+0800: 0.595: [GC remark 2021-06-29T17:22:44.407+0800: 0.595: [Finalize Marking, 0.0001342 secs] 2021-06-29T17:22:44.408+0800: 0.595: [GC ref-proc, 0.0002220 secs] 2021-06-29T17:22:44.408+0800: 0.596: [Unloading, 0.0004654 secs], 0.0016222 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.409+0800: 0.597: [GC cleanup 345M->345M(512M), 0.0004049 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.419+0800: 0.607: [GC pause (G1 Evacuation Pause) (young), 0.0040031 secs] + [Parallel Time: 3.3 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 607.3, Avg: 607.3, Max: 607.3, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.4, Avg: 0.4, Max: 0.5, Diff: 0.0, Sum: 1.8] + [Processed Buffers: Min: 6, Avg: 7.8, Max: 9, Diff: 3, Sum: 31] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 2.5, Avg: 2.5, Max: 2.5, Diff: 0.0, Sum: 9.9] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 3.1, Avg: 3.2, Max: 3.2, Diff: 0.0, Sum: 12.6] + [GC Worker End (ms): Min: 610.5, Avg: 610.5, Max: 610.5, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.2 ms] + [Other: 0.5 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.2 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.2 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 80.0M(80.0M)->0.0B(14.0M) Survivors: 5120.0K->11.0M Heap: 419.8M(512.0M)->353.5M(512.0M)] + [Times: user=0.06 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.427+0800: 0.614: [GC pause (G1 Evacuation Pause) (mixed), 0.0051991 secs] + [Parallel Time: 4.8 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 614.5, Avg: 614.5, Max: 614.5, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.6, Avg: 0.6, Max: 0.6, Diff: 0.1, Sum: 2.3] + [Processed Buffers: Min: 8, Avg: 9.8, Max: 11, Diff: 3, Sum: 39] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 3.9, Avg: 3.9, Max: 4.0, Diff: 0.0, Sum: 15.8] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 4.7, Avg: 4.8, Max: 4.8, Diff: 0.0, Sum: 19.0] + [GC Worker End (ms): Min: 619.3, Avg: 619.3, Max: 619.3, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.1 ms] + [Eden: 14.0M(14.0M)->0.0B(65.0M) Survivors: 11.0M->4096.0K Heap: 372.8M(512.0M)->334.7M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.432+0800: 0.620: [GC pause (G1 Humongous Allocation) (young) (initial-mark), 0.0011113 secs] + [Parallel Time: 0.6 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 620.3, Avg: 620.4, Max: 620.4, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.1, Avg: 0.1, Max: 0.1, Diff: 0.0, Sum: 0.3] + [Processed Buffers: Min: 1, Avg: 1.3, Max: 2, Diff: 1, Sum: 5] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.3, Avg: 0.3, Max: 0.3, Diff: 0.0, Sum: 1.3] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.6, Avg: 0.6, Max: 0.6, Diff: 0.0, Sum: 2.4] + [GC Worker End (ms): Min: 620.9, Avg: 621.0, Max: 621.0, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.4 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 3072.0K(65.0M)->0.0B(67.0M) Survivors: 4096.0K->4096.0K Heap: 337.0M(512.0M)->334.7M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.434+0800: 0.622: [GC concurrent-root-region-scan-start] +2021-06-29T17:22:44.434+0800: 0.622: [GC concurrent-root-region-scan-end, 0.0001157 secs] +2021-06-29T17:22:44.434+0800: 0.622: [GC concurrent-mark-start] +2021-06-29T17:22:44.437+0800: 0.625: [GC concurrent-mark-end, 0.0033819 secs] +2021-06-29T17:22:44.438+0800: 0.625: [GC remark 2021-06-29T17:22:44.438+0800: 0.625: [Finalize Marking, 0.0001018 secs] 2021-06-29T17:22:44.438+0800: 0.625: [GC ref-proc, 0.0001895 secs] 2021-06-29T17:22:44.438+0800: 0.625: [Unloading, 0.0004639 secs], 0.0015446 secs] + [Times: user=0.06 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.439+0800: 0.627: [GC cleanup 357M->357M(512M), 0.0003818 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.448+0800: 0.636: [GC pause (G1 Evacuation Pause) (young), 0.0033509 secs] + [Parallel Time: 3.0 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 635.9, Avg: 635.9, Max: 636.0, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.5, Avg: 0.5, Max: 0.6, Diff: 0.0, Sum: 2.1] + [Processed Buffers: Min: 6, Avg: 8.8, Max: 10, Diff: 4, Sum: 35] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 2.2, Avg: 2.2, Max: 2.2, Diff: 0.1, Sum: 8.9] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 2.9, Avg: 3.0, Max: 3.0, Diff: 0.1, Sum: 11.9] + [GC Worker End (ms): Min: 638.9, Avg: 638.9, Max: 638.9, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 67.0M(67.0M)->0.0B(16.0M) Survivors: 4096.0K->9216.0K Heap: 418.0M(512.0M)->365.1M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.454+0800: 0.642: [GC pause (G1 Evacuation Pause) (mixed), 0.0049028 secs] + [Parallel Time: 4.4 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 642.2, Avg: 642.2, Max: 642.3, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.8] + [Update RS (ms): Min: 0.4, Avg: 0.4, Max: 0.4, Diff: 0.0, Sum: 1.5] + [Processed Buffers: Min: 7, Avg: 7.0, Max: 7, Diff: 0, Sum: 28] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 3.7, Avg: 3.7, Max: 3.7, Diff: 0.0, Sum: 14.9] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 4.3, Avg: 4.4, Max: 4.4, Diff: 0.1, Sum: 17.5] + [GC Worker End (ms): Min: 646.6, Avg: 646.6, Max: 646.6, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.4 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.1 ms] + [Eden: 16.0M(16.0M)->0.0B(21.0M) Survivors: 9216.0K->4096.0K Heap: 384.0M(512.0M)->346.6M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.01 secs] +2021-06-29T17:22:44.463+0800: 0.651: [GC pause (G1 Evacuation Pause) (mixed), 0.0029646 secs] + [Parallel Time: 2.5 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 651.0, Avg: 652.1, Max: 653.4, Diff: 2.4] + [Ext Root Scanning (ms): Min: 0.0, Avg: 0.1, Max: 0.2, Diff: 0.2, Sum: 0.4] + [Update RS (ms): Min: 0.0, Avg: 0.4, Max: 0.8, Diff: 0.8, Sum: 1.6] + [Processed Buffers: Min: 0, Avg: 7.8, Max: 16, Diff: 16, Sum: 31] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.0, Avg: 0.8, Max: 1.3, Diff: 1.3, Sum: 3.1] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.0, Avg: 1.3, Max: 2.4, Diff: 2.3, Sum: 5.3] + [GC Worker End (ms): Min: 653.4, Avg: 653.4, Max: 653.4, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.4 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 21.0M(21.0M)->0.0B(46.0M) Survivors: 4096.0K->4096.0K Heap: 370.8M(512.0M)->352.5M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.466+0800: 0.654: [GC pause (G1 Humongous Allocation) (young) (initial-mark), 0.0010571 secs] + [Parallel Time: 0.7 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 654.2, Avg: 654.3, Max: 654.4, Diff: 0.2] + [Ext Root Scanning (ms): Min: 0.0, Avg: 0.3, Max: 0.6, Diff: 0.6, Sum: 1.0] + [Update RS (ms): Min: 0.0, Avg: 0.1, Max: 0.1, Diff: 0.1, Sum: 0.2] + [Processed Buffers: Min: 0, Avg: 1.0, Max: 2, Diff: 2, Sum: 4] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.0, Avg: 0.2, Max: 0.4, Diff: 0.3, Sum: 1.0] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.4, Avg: 0.6, Max: 0.6, Diff: 0.2, Sum: 2.3] + [GC Worker End (ms): Min: 654.8, Avg: 654.8, Max: 654.8, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 1024.0K(46.0M)->0.0B(49.0M) Survivors: 4096.0K->0.0B Heap: 353.2M(512.0M)->352.7M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.468+0800: 0.655: [GC concurrent-root-region-scan-start] +2021-06-29T17:22:44.468+0800: 0.655: [GC concurrent-root-region-scan-end, 0.0000093 secs] +2021-06-29T17:22:44.468+0800: 0.655: [GC concurrent-mark-start] +2021-06-29T17:22:44.471+0800: 0.659: [GC concurrent-mark-end, 0.0037312 secs] +2021-06-29T17:22:44.472+0800: 0.659: [GC remark 2021-06-29T17:22:44.472+0800: 0.659: [Finalize Marking, 0.0001673 secs] 2021-06-29T17:22:44.472+0800: 0.659: [GC ref-proc, 0.0001912 secs] 2021-06-29T17:22:44.472+0800: 0.660: [Unloading, 0.0004712 secs], 0.0019132 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.474+0800: 0.661: [GC cleanup 385M->385M(512M), 0.0006485 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.480+0800: 0.667: [GC pause (G1 Evacuation Pause) (young), 0.0031870 secs] + [Parallel Time: 2.7 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 667.4, Avg: 667.7, Max: 668.5, Diff: 1.1] + [Ext Root Scanning (ms): Min: 0.0, Avg: 0.1, Max: 0.2, Diff: 0.2, Sum: 0.5] + [Update RS (ms): Min: 0.1, Avg: 0.7, Max: 0.9, Diff: 0.9, Sum: 2.8] + [Processed Buffers: Min: 1, Avg: 12.5, Max: 18, Diff: 17, Sum: 50] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 1.4, Avg: 1.5, Max: 1.5, Diff: 0.1, Sum: 5.9] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 1.6, Avg: 2.4, Max: 2.7, Diff: 1.1, Sum: 9.5] + [GC Worker End (ms): Min: 670.0, Avg: 670.1, Max: 670.1, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.4 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 49.0M(49.0M)->0.0B(18.0M) Survivors: 0.0B->7168.0K Heap: 417.8M(512.0M)->375.5M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.487+0800: 0.674: [GC pause (G1 Evacuation Pause) (mixed), 0.0047850 secs] + [Parallel Time: 4.3 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 674.3, Avg: 674.4, Max: 674.4, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.7] + [Update RS (ms): Min: 0.6, Avg: 0.6, Max: 0.6, Diff: 0.0, Sum: 2.5] + [Processed Buffers: Min: 8, Avg: 10.5, Max: 12, Diff: 4, Sum: 42] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 3.4, Avg: 3.4, Max: 3.4, Diff: 0.0, Sum: 13.6] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 4.2, Avg: 4.3, Max: 4.3, Diff: 0.1, Sum: 17.0] + [GC Worker End (ms): Min: 678.6, Avg: 678.6, Max: 678.6, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.1 ms] + [Eden: 18.0M(18.0M)->0.0B(21.0M) Survivors: 7168.0K->4096.0K Heap: 401.6M(512.0M)->357.2M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.01 secs] +2021-06-29T17:22:44.495+0800: 0.683: [GC pause (G1 Evacuation Pause) (mixed), 0.0030959 secs] + [Parallel Time: 2.7 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 683.2, Avg: 683.2, Max: 683.2, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.8, Avg: 0.8, Max: 0.8, Diff: 0.0, Sum: 3.1] + [Processed Buffers: Min: 11, Avg: 13.5, Max: 15, Diff: 4, Sum: 54] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 1.6, Avg: 1.6, Max: 1.7, Diff: 0.0, Sum: 6.5] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 2.6, Avg: 2.6, Max: 2.6, Diff: 0.0, Sum: 10.5] + [GC Worker End (ms): Min: 685.8, Avg: 685.8, Max: 685.8, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.4 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.2 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 21.0M(21.0M)->0.0B(29.0M) Survivors: 4096.0K->4096.0K Heap: 386.0M(512.0M)->366.9M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.499+0800: 0.687: [GC pause (G1 Humongous Allocation) (young) (initial-mark), 0.0011963 secs] + [Parallel Time: 0.7 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 686.6, Avg: 686.6, Max: 686.7, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.1, Avg: 0.1, Max: 0.1, Diff: 0.0, Sum: 0.3] + [Processed Buffers: Min: 1, Avg: 1.3, Max: 2, Diff: 1, Sum: 5] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.3, Avg: 0.4, Max: 0.4, Diff: 0.1, Sum: 1.4] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.6, Avg: 0.6, Max: 0.7, Diff: 0.0, Sum: 2.5] + [GC Worker End (ms): Min: 687.3, Avg: 687.3, Max: 687.3, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.4 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 2048.0K(29.0M)->0.0B(28.0M) Survivors: 4096.0K->1024.0K Heap: 368.9M(512.0M)->367.3M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.500+0800: 0.688: [GC concurrent-root-region-scan-start] +2021-06-29T17:22:44.500+0800: 0.688: [GC concurrent-root-region-scan-end, 0.0000360 secs] +2021-06-29T17:22:44.500+0800: 0.688: [GC concurrent-mark-start] +2021-06-29T17:22:44.504+0800: 0.692: [GC concurrent-mark-end, 0.0039522 secs] +2021-06-29T17:22:44.505+0800: 0.692: [GC remark 2021-06-29T17:22:44.505+0800: 0.692: [Finalize Marking, 0.0001031 secs] 2021-06-29T17:22:44.505+0800: 0.692: [GC ref-proc, 0.0002046 secs] 2021-06-29T17:22:44.505+0800: 0.692: [Unloading, 0.0004750 secs], 0.0016403 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.506+0800: 0.694: [GC cleanup 389M->389M(512M), 0.0004582 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.508+0800: 0.696: [GC pause (G1 Evacuation Pause) (young), 0.0020318 secs] + [Parallel Time: 1.7 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 695.7, Avg: 695.7, Max: 695.7, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.4, Avg: 0.4, Max: 0.5, Diff: 0.0, Sum: 1.7] + [Processed Buffers: Min: 8, Avg: 8.3, Max: 9, Diff: 1, Sum: 33] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 1.0, Avg: 1.0, Max: 1.0, Diff: 0.1, Sum: 3.9] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 1.6, Avg: 1.6, Max: 1.7, Diff: 0.0, Sum: 6.5] + [GC Worker End (ms): Min: 697.3, Avg: 697.3, Max: 697.3, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 28.0M(28.0M)->0.0B(21.0M) Survivors: 1024.0K->4096.0K Heap: 398.7M(512.0M)->375.6M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.514+0800: 0.702: [GC pause (G1 Evacuation Pause) (mixed), 0.0054264 secs] + [Parallel Time: 5.0 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 701.9, Avg: 701.9, Max: 701.9, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.8] + [Update RS (ms): Min: 1.0, Avg: 1.0, Max: 1.0, Diff: 0.0, Sum: 4.0] + [Processed Buffers: Min: 14, Avg: 17.3, Max: 19, Diff: 5, Sum: 69] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 3.7, Avg: 3.7, Max: 3.7, Diff: 0.0, Sum: 14.7] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 4.9, Avg: 4.9, Max: 4.9, Diff: 0.0, Sum: 19.7] + [GC Worker End (ms): Min: 706.8, Avg: 706.8, Max: 706.8, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.4 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.1 ms] + [Eden: 21.0M(21.0M)->0.0B(21.0M) Survivors: 4096.0K->4096.0K Heap: 406.8M(512.0M)->364.8M(512.0M)] + [Times: user=0.06 sys=0.00, real=0.01 secs] +2021-06-29T17:22:44.524+0800: 0.711: [GC pause (G1 Evacuation Pause) (mixed), 0.0026264 secs] + [Parallel Time: 2.3 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 711.3, Avg: 711.3, Max: 711.3, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.5, Avg: 0.6, Max: 0.6, Diff: 0.0, Sum: 2.2] + [Processed Buffers: Min: 8, Avg: 9.0, Max: 10, Diff: 2, Sum: 36] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 1.5, Avg: 1.5, Max: 1.5, Diff: 0.0, Sum: 5.9] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 2.2, Avg: 2.2, Max: 2.3, Diff: 0.0, Sum: 9.0] + [GC Worker End (ms): Min: 713.5, Avg: 713.5, Max: 713.5, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.0 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 21.0M(21.0M)->0.0B(27.0M) Survivors: 4096.0K->4096.0K Heap: 389.6M(512.0M)->367.7M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.527+0800: 0.714: [GC pause (G1 Humongous Allocation) (young) (initial-mark), 0.0009107 secs] + [Parallel Time: 0.6 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 714.4, Avg: 714.4, Max: 714.4, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.0, Avg: 0.1, Max: 0.1, Diff: 0.0, Sum: 0.2] + [Processed Buffers: Min: 1, Avg: 1.3, Max: 2, Diff: 1, Sum: 5] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.3, Avg: 0.3, Max: 0.3, Diff: 0.1, Sum: 1.1] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.5, Avg: 0.6, Max: 0.6, Diff: 0.0, Sum: 2.2] + [GC Worker End (ms): Min: 715.0, Avg: 715.0, Max: 715.0, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.0 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 1024.0K(27.0M)->0.0B(28.0M) Survivors: 4096.0K->1024.0K Heap: 368.6M(512.0M)->367.6M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.528+0800: 0.715: [GC concurrent-root-region-scan-start] +2021-06-29T17:22:44.528+0800: 0.715: [GC concurrent-root-region-scan-end, 0.0000777 secs] +2021-06-29T17:22:44.528+0800: 0.715: [GC concurrent-mark-start] +2021-06-29T17:22:44.532+0800: 0.719: [GC concurrent-mark-end, 0.0035575 secs] +2021-06-29T17:22:44.532+0800: 0.719: [GC remark 2021-06-29T17:22:44.532+0800: 0.719: [Finalize Marking, 0.0000620 secs] 2021-06-29T17:22:44.532+0800: 0.719: [GC ref-proc, 0.0001776 secs] 2021-06-29T17:22:44.532+0800: 0.719: [Unloading, 0.0004287 secs], 0.0015494 secs] + [Times: user=0.06 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.533+0800: 0.721: [GC cleanup 394M->394M(512M), 0.0003362 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.535+0800: 0.722: [GC pause (G1 Evacuation Pause) (young), 0.0019500 secs] + [Parallel Time: 1.6 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 722.3, Avg: 722.3, Max: 722.3, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.6] + [Update RS (ms): Min: 0.7, Avg: 0.8, Max: 0.8, Diff: 0.0, Sum: 3.0] + [Processed Buffers: Min: 10, Avg: 12.8, Max: 15, Diff: 5, Sum: 51] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.7, Avg: 0.7, Max: 0.7, Diff: 0.0, Sum: 2.7] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 1.6, Avg: 1.6, Max: 1.6, Diff: 0.0, Sum: 6.5] + [GC Worker End (ms): Min: 723.9, Avg: 723.9, Max: 723.9, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 28.0M(28.0M)->0.0B(21.0M) Survivors: 1024.0K->4096.0K Heap: 401.3M(512.0M)->378.4M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.541+0800: 0.728: [GC pause (G1 Evacuation Pause) (mixed), 0.0048876 secs] + [Parallel Time: 4.5 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 728.4, Avg: 728.4, Max: 728.4, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.6, Avg: 0.6, Max: 0.6, Diff: 0.0, Sum: 2.3] + [Processed Buffers: Min: 9, Avg: 10.3, Max: 11, Diff: 2, Sum: 41] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 3.7, Avg: 3.7, Max: 3.7, Diff: 0.0, Sum: 14.9] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 4.5, Avg: 4.5, Max: 4.5, Diff: 0.0, Sum: 18.1] + [GC Worker End (ms): Min: 732.9, Avg: 732.9, Max: 732.9, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.0 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.1 ms] + [Eden: 21.0M(21.0M)->0.0B(31.0M) Survivors: 4096.0K->4096.0K Heap: 403.9M(512.0M)->363.3M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.01 secs] +2021-06-29T17:22:44.546+0800: 0.734: [GC pause (G1 Humongous Allocation) (young) (initial-mark), 0.0010228 secs] + [Parallel Time: 0.7 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 733.9, Avg: 733.9, Max: 733.9, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.0, Avg: 0.1, Max: 0.1, Diff: 0.0, Sum: 0.3] + [Processed Buffers: Min: 1, Avg: 1.3, Max: 2, Diff: 1, Sum: 5] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.4, Avg: 0.4, Max: 0.4, Diff: 0.1, Sum: 1.6] + [Termination (ms): Min: 0.0, Avg: 0.1, Max: 0.1, Diff: 0.1, Sum: 0.2] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.7, Avg: 0.7, Max: 0.7, Diff: 0.0, Sum: 2.8] + [GC Worker End (ms): Min: 734.6, Avg: 734.6, Max: 734.6, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.0 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 3072.0K(31.0M)->0.0B(31.0M) Survivors: 4096.0K->2048.0K Heap: 366.0M(512.0M)->363.5M(512.0M)] + [Times: user=0.01 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.548+0800: 0.735: [GC concurrent-root-region-scan-start] +2021-06-29T17:22:44.548+0800: 0.735: [GC concurrent-root-region-scan-end, 0.0001009 secs] +2021-06-29T17:22:44.548+0800: 0.735: [GC concurrent-mark-start] +2021-06-29T17:22:44.551+0800: 0.739: [GC concurrent-mark-end, 0.0035911 secs] +2021-06-29T17:22:44.551+0800: 0.739: [GC remark 2021-06-29T17:22:44.551+0800: 0.739: [Finalize Marking, 0.0001073 secs] 2021-06-29T17:22:44.552+0800: 0.739: [GC ref-proc, 0.0001904 secs] 2021-06-29T17:22:44.552+0800: 0.739: [Unloading, 0.0004253 secs], 0.0015765 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.553+0800: 0.741: [GC cleanup 388M->388M(512M), 0.0003543 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.555+0800: 0.743: [GC pause (G1 Evacuation Pause) (young), 0.0021111 secs] + [Parallel Time: 1.8 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 742.8, Avg: 742.8, Max: 742.8, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.7, Avg: 0.7, Max: 0.7, Diff: 0.1, Sum: 2.8] + [Processed Buffers: Min: 12, Avg: 12.5, Max: 13, Diff: 1, Sum: 50] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.8, Avg: 0.9, Max: 0.9, Diff: 0.0, Sum: 3.4] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 1.7, Avg: 1.8, Max: 1.8, Diff: 0.0, Sum: 7.0] + [GC Worker End (ms): Min: 744.5, Avg: 744.5, Max: 744.5, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.0 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 31.0M(31.0M)->0.0B(20.0M) Survivors: 2048.0K->5120.0K Heap: 400.0M(512.0M)->369.8M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.561+0800: 0.748: [GC pause (G1 Evacuation Pause) (mixed), 0.0031401 secs] + [Parallel Time: 2.8 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 748.6, Avg: 748.6, Max: 748.6, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.9] + [Processed Buffers: Min: 4, Avg: 4.0, Max: 4, Diff: 0, Sum: 16] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 2.3, Avg: 2.3, Max: 2.3, Diff: 0.0, Sum: 9.3] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 2.8, Avg: 2.8, Max: 2.8, Diff: 0.0, Sum: 11.1] + [GC Worker End (ms): Min: 751.4, Avg: 751.4, Max: 751.4, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 20.0M(20.0M)->0.0B(31.0M) Survivors: 5120.0K->4096.0K Heap: 391.2M(512.0M)->364.9M(512.0M)] + [Times: user=0.06 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.565+0800: 0.752: [GC pause (G1 Humongous Allocation) (young) (initial-mark), 0.0009979 secs] + [Parallel Time: 0.7 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 752.3, Avg: 752.3, Max: 752.3, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.1, Avg: 0.1, Max: 0.1, Diff: 0.0, Sum: 0.3] + [Processed Buffers: Min: 1, Avg: 1.3, Max: 2, Diff: 1, Sum: 5] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.4, Avg: 0.4, Max: 0.4, Diff: 0.0, Sum: 1.6] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.7, Avg: 0.7, Max: 0.7, Diff: 0.0, Sum: 2.7] + [GC Worker End (ms): Min: 752.9, Avg: 752.9, Max: 753.0, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.2 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 3072.0K(31.0M)->0.0B(31.0M) Survivors: 4096.0K->1024.0K Heap: 367.0M(512.0M)->366.4M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.566+0800: 0.753: [GC concurrent-root-region-scan-start] +2021-06-29T17:22:44.566+0800: 0.753: [GC concurrent-root-region-scan-end, 0.0000814 secs] +2021-06-29T17:22:44.566+0800: 0.753: [GC concurrent-mark-start] +2021-06-29T17:22:44.570+0800: 0.757: [GC concurrent-mark-end, 0.0036053 secs] +2021-06-29T17:22:44.570+0800: 0.757: [GC remark 2021-06-29T17:22:44.570+0800: 0.757: [Finalize Marking, 0.0000736 secs] 2021-06-29T17:22:44.570+0800: 0.757: [GC ref-proc, 0.0002030 secs] 2021-06-29T17:22:44.570+0800: 0.757: [Unloading, 0.0004619 secs], 0.0016107 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.572+0800: 0.759: [GC cleanup 394M->394M(512M), 0.0003161 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.575+0800: 0.762: [GC pause (G1 Evacuation Pause) (young), 0.0029910 secs] + [Parallel Time: 2.6 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 761.9, Avg: 761.9, Max: 761.9, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 1.4, Avg: 1.4, Max: 1.4, Diff: 0.0, Sum: 5.5] + [Processed Buffers: Min: 22, Avg: 24.0, Max: 25, Diff: 3, Sum: 96] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 1.0, Avg: 1.0, Max: 1.0, Diff: 0.0, Sum: 4.1] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 2.6, Avg: 2.6, Max: 2.6, Diff: 0.0, Sum: 10.4] + [GC Worker End (ms): Min: 764.5, Avg: 764.5, Max: 764.5, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 31.0M(31.0M)->0.0B(21.0M) Survivors: 1024.0K->4096.0K Heap: 411.1M(512.0M)->379.1M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.582+0800: 0.769: [GC pause (G1 Evacuation Pause) (mixed), 0.0043271 secs] + [Parallel Time: 4.0 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 769.0, Avg: 769.0, Max: 769.0, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.9, Avg: 0.9, Max: 0.9, Diff: 0.0, Sum: 3.6] + [Processed Buffers: Min: 16, Avg: 16.3, Max: 17, Diff: 1, Sum: 65] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 2.8, Avg: 2.8, Max: 2.8, Diff: 0.0, Sum: 11.3] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.3, Max: 2, Diff: 1, Sum: 5] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 3.9, Avg: 3.9, Max: 4.0, Diff: 0.0, Sum: 15.8] + [GC Worker End (ms): Min: 772.9, Avg: 772.9, Max: 772.9, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 21.0M(21.0M)->0.0B(21.0M) Survivors: 4096.0K->4096.0K Heap: 407.5M(512.0M)->375.6M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.586+0800: 0.773: [GC pause (G1 Humongous Allocation) (young) (initial-mark), 0.0009084 secs] + [Parallel Time: 0.6 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 773.6, Avg: 773.6, Max: 773.6, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.0, Avg: 0.1, Max: 0.1, Diff: 0.0, Sum: 0.3] + [Processed Buffers: Min: 1, Avg: 1.3, Max: 2, Diff: 1, Sum: 5] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.3, Avg: 0.3, Max: 0.3, Diff: 0.0, Sum: 1.3] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.6, Avg: 0.6, Max: 0.6, Diff: 0.0, Sum: 2.3] + [GC Worker End (ms): Min: 774.2, Avg: 774.2, Max: 774.2, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.2 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 1024.0K(21.0M)->0.0B(24.0M) Survivors: 4096.0K->1024.0K Heap: 376.3M(512.0M)->376.3M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.587+0800: 0.775: [GC concurrent-root-region-scan-start] +2021-06-29T17:22:44.587+0800: 0.775: [GC concurrent-root-region-scan-end, 0.0000654 secs] +2021-06-29T17:22:44.587+0800: 0.775: [GC concurrent-mark-start] +2021-06-29T17:22:44.591+0800: 0.778: [GC concurrent-mark-end, 0.0036779 secs] +2021-06-29T17:22:44.591+0800: 0.778: [GC remark 2021-06-29T17:22:44.591+0800: 0.778: [Finalize Marking, 0.0000755 secs] 2021-06-29T17:22:44.591+0800: 0.779: [GC ref-proc, 0.0001906 secs] 2021-06-29T17:22:44.592+0800: 0.779: [Unloading, 0.0004478 secs], 0.0015788 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.593+0800: 0.780: [GC cleanup 402M->402M(512M), 0.0002948 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.594+0800: 0.781: [GC pause (G1 Evacuation Pause) (young), 0.0020552 secs] + [Parallel Time: 1.7 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 781.5, Avg: 781.5, Max: 781.6, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.9, Avg: 0.9, Max: 0.9, Diff: 0.0, Sum: 3.5] + [Processed Buffers: Min: 15, Avg: 16.0, Max: 17, Diff: 2, Sum: 64] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.6, Avg: 0.6, Max: 0.6, Diff: 0.0, Sum: 2.4] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 1.7, Avg: 1.7, Max: 1.7, Diff: 0.0, Sum: 6.7] + [GC Worker End (ms): Min: 783.2, Avg: 783.2, Max: 783.2, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 24.0M(24.0M)->0.0B(21.0M) Survivors: 1024.0K->4096.0K Heap: 407.6M(512.0M)->384.2M(512.0M)] + [Times: user=0.06 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.600+0800: 0.787: [GC pause (G1 Evacuation Pause) (mixed), 0.0041555 secs] + [Parallel Time: 3.8 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 787.3, Avg: 787.3, Max: 787.3, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.9] + [Processed Buffers: Min: 4, Avg: 4.0, Max: 4, Diff: 0, Sum: 16] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 3.3, Avg: 3.3, Max: 3.3, Diff: 0.0, Sum: 13.2] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 3.7, Avg: 3.7, Max: 3.7, Diff: 0.0, Sum: 14.9] + [GC Worker End (ms): Min: 791.0, Avg: 791.0, Max: 791.0, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.1 ms] + [Eden: 21.0M(21.0M)->0.0B(25.0M) Survivors: 4096.0K->4096.0K Heap: 406.5M(512.0M)->372.3M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.604+0800: 0.792: [GC pause (G1 Humongous Allocation) (young) (initial-mark), 0.0009703 secs] + [Parallel Time: 0.6 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 791.7, Avg: 791.7, Max: 791.7, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.1, Avg: 0.1, Max: 0.1, Diff: 0.0, Sum: 0.3] + [Processed Buffers: Min: 1, Avg: 1.3, Max: 2, Diff: 1, Sum: 5] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.3, Avg: 0.3, Max: 0.4, Diff: 0.1, Sum: 1.3] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.6, Avg: 0.6, Max: 0.6, Diff: 0.0, Sum: 2.5] + [GC Worker End (ms): Min: 792.3, Avg: 792.3, Max: 792.3, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.0 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 1024.0K(25.0M)->0.0B(24.0M) Survivors: 4096.0K->1024.0K Heap: 373.1M(512.0M)->372.4M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.606+0800: 0.793: [GC concurrent-root-region-scan-start] +2021-06-29T17:22:44.606+0800: 0.793: [GC concurrent-root-region-scan-end, 0.0000325 secs] +2021-06-29T17:22:44.606+0800: 0.793: [GC concurrent-mark-start] +2021-06-29T17:22:44.609+0800: 0.796: [GC concurrent-mark-end, 0.0035994 secs] +2021-06-29T17:22:44.609+0800: 0.796: [GC remark 2021-06-29T17:22:44.609+0800: 0.796: [Finalize Marking, 0.0000746 secs] 2021-06-29T17:22:44.609+0800: 0.797: [GC ref-proc, 0.0001907 secs] 2021-06-29T17:22:44.610+0800: 0.797: [Unloading, 0.0004167 secs], 0.0015887 secs] + [Times: user=0.06 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.611+0800: 0.798: [GC cleanup 398M->398M(512M), 0.0002807 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.612+0800: 0.800: [GC pause (G1 Evacuation Pause) (young), 0.0032430 secs] + [Parallel Time: 2.9 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 799.7, Avg: 800.4, Max: 802.5, Diff: 2.8] + [Ext Root Scanning (ms): Min: 0.0, Avg: 0.1, Max: 0.2, Diff: 0.2, Sum: 0.5] + [Update RS (ms): Min: 0.0, Avg: 1.3, Max: 1.8, Diff: 1.8, Sum: 5.4] + [Processed Buffers: Min: 0, Avg: 24.3, Max: 33, Diff: 33, Sum: 97] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.0, Avg: 0.6, Max: 0.9, Diff: 0.9, Sum: 2.4] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.0, Avg: 2.1, Max: 2.8, Diff: 2.8, Sum: 8.5] + [GC Worker End (ms): Min: 802.5, Avg: 802.5, Max: 802.5, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 24.0M(24.0M)->0.0B(21.0M) Survivors: 1024.0K->4096.0K Heap: 407.9M(512.0M)->386.0M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.620+0800: 0.807: [GC pause (G1 Evacuation Pause) (mixed), 0.0038147 secs] + [Parallel Time: 3.5 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 807.1, Avg: 807.1, Max: 807.2, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.7, Avg: 0.7, Max: 0.7, Diff: 0.0, Sum: 2.8] + [Processed Buffers: Min: 11, Avg: 11.8, Max: 12, Diff: 1, Sum: 47] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 2.5, Avg: 2.5, Max: 2.5, Diff: 0.0, Sum: 10.0] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 3.4, Avg: 3.4, Max: 3.4, Diff: 0.0, Sum: 13.7] + [GC Worker End (ms): Min: 810.6, Avg: 810.6, Max: 810.6, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.0 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.1 ms] + [Eden: 21.0M(21.0M)->0.0B(21.0M) Survivors: 4096.0K->4096.0K Heap: 412.3M(512.0M)->381.5M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.624+0800: 0.811: [GC pause (G1 Humongous Allocation) (young) (initial-mark), 0.0009360 secs] + [Parallel Time: 0.6 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 811.3, Avg: 811.3, Max: 811.3, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.1, Avg: 0.1, Max: 0.2, Diff: 0.1, Sum: 0.5] + [Processed Buffers: Min: 1, Avg: 1.3, Max: 2, Diff: 1, Sum: 5] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.2, Avg: 0.3, Max: 0.3, Diff: 0.1, Sum: 1.2] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.6, Avg: 0.6, Max: 0.6, Diff: 0.0, Sum: 2.4] + [GC Worker End (ms): Min: 811.9, Avg: 811.9, Max: 811.9, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 1024.0K(21.0M)->0.0B(25.0M) Survivors: 4096.0K->0.0B Heap: 382.2M(512.0M)->381.3M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.625+0800: 0.812: [GC concurrent-root-region-scan-start] +2021-06-29T17:22:44.625+0800: 0.812: [GC concurrent-root-region-scan-end, 0.0000081 secs] +2021-06-29T17:22:44.625+0800: 0.812: [GC concurrent-mark-start] +2021-06-29T17:22:44.628+0800: 0.816: [GC concurrent-mark-end, 0.0038372 secs] +2021-06-29T17:22:44.628+0800: 0.816: [GC remark 2021-06-29T17:22:44.628+0800: 0.816: [Finalize Marking, 0.0000592 secs] 2021-06-29T17:22:44.628+0800: 0.816: [GC ref-proc, 0.0001875 secs] 2021-06-29T17:22:44.628+0800: 0.817: [Unloading, 0.0004272 secs], 0.0015490 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.630+0800: 0.818: [GC cleanup 414M->414M(512M), 0.0003256 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.631+0800: 0.819: [GC pause (G1 Evacuation Pause) (young), 0.0026920 secs] + [Parallel Time: 2.4 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 819.2, Avg: 819.2, Max: 819.2, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 1.4, Avg: 1.4, Max: 1.5, Diff: 0.0, Sum: 5.8] + [Processed Buffers: Min: 25, Avg: 25.8, Max: 26, Diff: 1, Sum: 103] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.7, Avg: 0.7, Max: 0.7, Diff: 0.0, Sum: 2.8] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 2.4, Avg: 2.4, Max: 2.4, Diff: 0.0, Sum: 9.5] + [GC Worker End (ms): Min: 821.6, Avg: 821.6, Max: 821.6, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.0 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 25.0M(25.0M)->0.0B(21.0M) Survivors: 0.0B->4096.0K Heap: 418.5M(512.0M)->392.3M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.638+0800: 0.826: [GC pause (G1 Evacuation Pause) (mixed) (to-space exhausted), 0.0042476 secs] + [Parallel Time: 3.8 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 826.1, Avg: 826.1, Max: 826.1, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.6, Avg: 0.6, Max: 0.6, Diff: 0.0, Sum: 2.4] + [Processed Buffers: Min: 10, Avg: 11.0, Max: 12, Diff: 2, Sum: 44] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 2.9, Avg: 2.9, Max: 2.9, Diff: 0.0, Sum: 11.5] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 3.7, Avg: 3.7, Max: 3.7, Diff: 0.0, Sum: 14.8] + [GC Worker End (ms): Min: 829.8, Avg: 829.8, Max: 829.8, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.4 ms] + [Evacuation Failure: 0.1 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 21.0M(21.0M)->0.0B(21.0M) Survivors: 4096.0K->4096.0K Heap: 418.1M(512.0M)->391.8M(512.0M)] + [Times: user=0.06 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.644+0800: 0.832: [GC pause (G1 Humongous Allocation) (young) (initial-mark), 0.0013227 secs] + [Parallel Time: 0.9 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 831.8, Avg: 831.8, Max: 831.9, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.6] + [Update RS (ms): Min: 0.1, Avg: 0.1, Max: 0.1, Diff: 0.0, Sum: 0.3] + [Processed Buffers: Min: 1, Avg: 2.3, Max: 3, Diff: 2, Sum: 9] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.6, Avg: 0.6, Max: 0.6, Diff: 0.1, Sum: 2.4] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.8, Avg: 0.9, Max: 0.9, Diff: 0.1, Sum: 3.5] + [GC Worker End (ms): Min: 832.7, Avg: 832.7, Max: 832.7, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 8192.0K(21.0M)->0.0B(22.0M) Survivors: 4096.0K->3072.0K Heap: 399.1M(512.0M)->394.7M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.645+0800: 0.833: [GC concurrent-root-region-scan-start] +2021-06-29T17:22:44.645+0800: 0.833: [GC concurrent-root-region-scan-end, 0.0000710 secs] +2021-06-29T17:22:44.645+0800: 0.833: [GC concurrent-mark-start] +2021-06-29T17:22:44.649+0800: 0.837: [GC concurrent-mark-end, 0.0037640 secs] +2021-06-29T17:22:44.649+0800: 0.837: [GC remark 2021-06-29T17:22:44.649+0800: 0.837: [Finalize Marking, 0.0000928 secs] 2021-06-29T17:22:44.649+0800: 0.837: [GC ref-proc, 0.0001910 secs] 2021-06-29T17:22:44.649+0800: 0.837: [Unloading, 0.0004336 secs], 0.0016237 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.651+0800: 0.839: [GC cleanup 420M->420M(512M), 0.0003110 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.651+0800: 0.839: [GC pause (G1 Evacuation Pause) (young), 0.0017636 secs] + [Parallel Time: 1.5 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 839.5, Avg: 839.5, Max: 839.5, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.6, Avg: 0.6, Max: 0.6, Diff: 0.0, Sum: 2.4] + [Processed Buffers: Min: 10, Avg: 10.8, Max: 11, Diff: 1, Sum: 43] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.7, Avg: 0.7, Max: 0.7, Diff: 0.1, Sum: 2.7] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 1.5, Avg: 1.5, Max: 1.5, Diff: 0.0, Sum: 5.9] + [GC Worker End (ms): Min: 841.0, Avg: 841.0, Max: 841.0, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.2 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.0 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 22.0M(22.0M)->0.0B(21.0M) Survivors: 3072.0K->4096.0K Heap: 421.4M(512.0M)->397.8M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.657+0800: 0.845: [GC pause (G1 Evacuation Pause) (mixed) (to-space exhausted), 0.0041785 secs] + [Parallel Time: 3.8 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 845.2, Avg: 845.2, Max: 845.2, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.5, Avg: 0.5, Max: 0.5, Diff: 0.0, Sum: 2.0] + [Processed Buffers: Min: 9, Avg: 9.0, Max: 9, Diff: 0, Sum: 36] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 3.0, Avg: 3.0, Max: 3.0, Diff: 0.0, Sum: 12.0] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 3.7, Avg: 3.7, Max: 3.7, Diff: 0.0, Sum: 14.9] + [GC Worker End (ms): Min: 848.9, Avg: 848.9, Max: 848.9, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.4 ms] + [Evacuation Failure: 0.1 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.0 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.1 ms] + [Eden: 21.0M(21.0M)->0.0B(21.0M) Survivors: 4096.0K->4096.0K Heap: 422.6M(512.0M)->392.7M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.661+0800: 0.850: [GC pause (G1 Humongous Allocation) (young) (initial-mark), 0.0009867 secs] + [Parallel Time: 0.7 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 849.6, Avg: 849.6, Max: 849.7, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.1, Avg: 0.1, Max: 0.1, Diff: 0.0, Sum: 0.3] + [Processed Buffers: Min: 1, Avg: 2.3, Max: 5, Diff: 4, Sum: 9] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.4, Avg: 0.4, Max: 0.4, Diff: 0.0, Sum: 1.6] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.7, Avg: 0.7, Max: 0.7, Diff: 0.0, Sum: 2.7] + [GC Worker End (ms): Min: 850.3, Avg: 850.3, Max: 850.3, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.2 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.0 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 2048.0K(21.0M)->0.0B(24.0M) Survivors: 4096.0K->1024.0K Heap: 394.0M(512.0M)->393.5M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.663+0800: 0.851: [GC concurrent-root-region-scan-start] +2021-06-29T17:22:44.663+0800: 0.851: [GC concurrent-root-region-scan-end, 0.0000183 secs] +2021-06-29T17:22:44.663+0800: 0.851: [GC concurrent-mark-start] +2021-06-29T17:22:44.666+0800: 0.854: [GC concurrent-mark-end, 0.0037889 secs] +2021-06-29T17:22:44.667+0800: 0.855: [GC remark 2021-06-29T17:22:44.667+0800: 0.855: [Finalize Marking, 0.0000718 secs] 2021-06-29T17:22:44.667+0800: 0.855: [GC ref-proc, 0.0001913 secs] 2021-06-29T17:22:44.667+0800: 0.855: [Unloading, 0.0004261 secs], 0.0015966 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.668+0800: 0.856: [GC cleanup 422M->422M(512M), 0.0003261 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.669+0800: 0.857: [GC pause (G1 Evacuation Pause) (young), 0.0022830 secs] + [Parallel Time: 1.9 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 857.2, Avg: 857.2, Max: 857.2, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.6] + [Update RS (ms): Min: 0.9, Avg: 0.9, Max: 0.9, Diff: 0.0, Sum: 3.6] + [Processed Buffers: Min: 15, Avg: 16.0, Max: 17, Diff: 2, Sum: 64] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.8, Avg: 0.8, Max: 0.8, Diff: 0.0, Sum: 3.3] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 1.9, Avg: 1.9, Max: 1.9, Diff: 0.0, Sum: 7.6] + [GC Worker End (ms): Min: 859.1, Avg: 859.1, Max: 859.1, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 24.0M(24.0M)->0.0B(21.0M) Survivors: 1024.0K->4096.0K Heap: 424.9M(512.0M)->405.5M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.676+0800: 0.864: [GC pause (G1 Evacuation Pause) (mixed) (to-space exhausted), 0.0032135 secs] + [Parallel Time: 2.8 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 864.0, Avg: 864.0, Max: 864.0, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.7, Avg: 0.7, Max: 0.7, Diff: 0.0, Sum: 2.7] + [Processed Buffers: Min: 10, Avg: 11.5, Max: 12, Diff: 2, Sum: 46] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 1.8, Avg: 1.8, Max: 1.8, Diff: 0.0, Sum: 7.3] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.3, Max: 2, Diff: 1, Sum: 5] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 2.7, Avg: 2.7, Max: 2.7, Diff: 0.0, Sum: 10.9] + [GC Worker End (ms): Min: 866.7, Avg: 866.7, Max: 866.7, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.4 ms] + [Evacuation Failure: 0.1 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 21.0M(21.0M)->0.0B(21.0M) Survivors: 4096.0K->4096.0K Heap: 431.6M(512.0M)->421.8M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.680+0800: 0.868: [GC pause (G1 Humongous Allocation) (young) (initial-mark), 0.0011244 secs] + [Parallel Time: 0.8 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 867.8, Avg: 867.8, Max: 867.8, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.1, Avg: 0.1, Max: 0.1, Diff: 0.0, Sum: 0.3] + [Processed Buffers: Min: 1, Avg: 2.3, Max: 3, Diff: 2, Sum: 9] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.4, Avg: 0.4, Max: 0.5, Diff: 0.1, Sum: 1.8] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.7, Avg: 0.7, Max: 0.7, Diff: 0.0, Sum: 2.9] + [GC Worker End (ms): Min: 868.5, Avg: 868.5, Max: 868.5, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 4096.0K(21.0M)->0.0B(23.0M) Survivors: 4096.0K->2048.0K Heap: 425.2M(512.0M)->422.7M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.681+0800: 0.869: [GC concurrent-root-region-scan-start] +2021-06-29T17:22:44.681+0800: 0.869: [GC concurrent-root-region-scan-end, 0.0000928 secs] +2021-06-29T17:22:44.681+0800: 0.869: [GC concurrent-mark-start] +2021-06-29T17:22:44.685+0800: 0.873: [GC concurrent-mark-end, 0.0038121 secs] +2021-06-29T17:22:44.685+0800: 0.873: [GC remark 2021-06-29T17:22:44.685+0800: 0.873: [Finalize Marking, 0.0000915 secs] 2021-06-29T17:22:44.685+0800: 0.873: [GC ref-proc, 0.0001932 secs] 2021-06-29T17:22:44.685+0800: 0.873: [Unloading, 0.0004228 secs], 0.0016029 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.687+0800: 0.875: [GC cleanup 449M->449M(512M), 0.0002998 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.687+0800: 0.875: [GC pause (G1 Evacuation Pause) (young) (to-space exhausted), 0.0014680 secs] + [Parallel Time: 1.1 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 875.4, Avg: 875.4, Max: 875.4, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.6, Avg: 0.6, Max: 0.6, Diff: 0.0, Sum: 2.3] + [Processed Buffers: Min: 10, Avg: 10.5, Max: 11, Diff: 1, Sum: 42] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.2, Avg: 0.3, Max: 0.3, Diff: 0.0, Sum: 1.0] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 1.0, Avg: 1.0, Max: 1.0, Diff: 0.0, Sum: 4.1] + [GC Worker End (ms): Min: 876.4, Avg: 876.4, Max: 876.4, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.4 ms] + [Evacuation Failure: 0.1 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 23.0M(23.0M)->0.0B(23.0M) Survivors: 2048.0K->2048.0K Heap: 450.2M(512.0M)->445.1M(512.0M)] + [Times: user=0.06 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.690+0800: 0.878: [GC pause (G1 Humongous Allocation) (mixed) (to-space exhausted), 0.0011025 secs] + [Parallel Time: 0.7 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 878.4, Avg: 878.4, Max: 878.4, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.3, Avg: 0.3, Max: 0.3, Diff: 0.0, Sum: 1.2] + [Processed Buffers: Min: 5, Avg: 7.0, Max: 9, Diff: 4, Sum: 28] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.7, Avg: 0.7, Max: 0.7, Diff: 0.0, Sum: 2.7] + [GC Worker End (ms): Min: 879.1, Avg: 879.1, Max: 879.1, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.4 ms] + [Evacuation Failure: 0.1 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 7168.0K(23.0M)->0.0B(25.0M) Survivors: 2048.0K->0.0B Heap: 453.7M(512.0M)->450.7M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.692+0800: 0.880: [GC pause (G1 Evacuation Pause) (mixed) (to-space exhausted), 0.0008746 secs] + [Parallel Time: 0.5 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 880.5, Avg: 880.5, Max: 880.5, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.1, Avg: 0.1, Max: 0.1, Diff: 0.0, Sum: 0.5] + [Processed Buffers: Min: 2, Avg: 4.3, Max: 10, Diff: 8, Sum: 17] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.6] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [GC Worker Total (ms): Min: 0.5, Avg: 0.5, Max: 0.5, Diff: 0.0, Sum: 2.0] + [GC Worker End (ms): Min: 881.0, Avg: 881.0, Max: 881.0, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.3 ms] + [Evacuation Failure: 0.1 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 3072.0K(25.0M)->0.0B(25.0M) Survivors: 0.0B->0.0B Heap: 454.3M(512.0M)->454.3M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.694+0800: 0.881: [Full GC (Allocation Failure) 454M->339M(512M), 0.0342554 secs] + [Eden: 0.0B(25.0M)->0.0B(25.0M) Survivors: 0.0B->0.0B Heap: 454.3M(512.0M)->339.7M(512.0M)], [Metaspace: 2673K->2673K(1056768K)] + [Times: user=0.03 sys=0.00, real=0.03 secs] +2021-06-29T17:22:44.728+0800: 0.916: [GC pause (G1 Humongous Allocation) (young) (initial-mark), 0.0009133 secs] + [Parallel Time: 0.4 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 916.3, Avg: 916.3, Max: 916.3, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.8] + [Update RS (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.2] + [Processed Buffers: Min: 0, Avg: 0.5, Max: 1, Diff: 1, Sum: 2] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.0, Avg: 0.1, Max: 0.1, Diff: 0.1, Sum: 0.2] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.8, Max: 3, Diff: 2, Sum: 7] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.3, Avg: 0.3, Max: 0.3, Diff: 0.1, Sum: 1.3] + [GC Worker End (ms): Min: 916.6, Avg: 916.6, Max: 916.6, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.2 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 3072.0K(25.0M)->0.0B(23.0M) Survivors: 0.0B->2048.0K Heap: 342.4M(512.0M)->341.2M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.729+0800: 0.917: [GC concurrent-root-region-scan-start] +2021-06-29T17:22:44.729+0800: 0.917: [GC concurrent-root-region-scan-end, 0.0000529 secs] +2021-06-29T17:22:44.729+0800: 0.917: [GC concurrent-mark-start] +2021-06-29T17:22:44.733+0800: 0.921: [GC concurrent-mark-end, 0.0036091 secs] +2021-06-29T17:22:44.733+0800: 0.921: [GC remark 2021-06-29T17:22:44.733+0800: 0.921: [Finalize Marking, 0.0000968 secs] 2021-06-29T17:22:44.733+0800: 0.921: [GC ref-proc, 0.0002083 secs] 2021-06-29T17:22:44.734+0800: 0.921: [Unloading, 0.0004573 secs], 0.0017183 secs] + [Times: user=0.06 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.735+0800: 0.923: [GC cleanup 364M->364M(512M), 0.0004425 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.737+0800: 0.924: [GC pause (G1 Evacuation Pause) (young), 0.0022460 secs] + [Parallel Time: 1.6 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 924.5, Avg: 924.5, Max: 924.5, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.6, Avg: 0.6, Max: 0.7, Diff: 0.0, Sum: 2.6] + [Processed Buffers: Min: 11, Avg: 11.5, Max: 12, Diff: 1, Sum: 46] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.7, Avg: 0.7, Max: 0.7, Diff: 0.0, Sum: 2.9] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 1.6, Avg: 1.6, Max: 1.6, Diff: 0.0, Sum: 6.3] + [GC Worker End (ms): Min: 926.1, Avg: 926.1, Max: 926.1, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.2 ms] + [Other: 0.5 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.2 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 23.0M(23.0M)->0.0B(21.0M) Survivors: 2048.0K->4096.0K Heap: 369.4M(512.0M)->346.9M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.740+0800: 0.928: [GC pause (G1 Humongous Allocation) (young) (initial-mark), 0.0014120 secs] + [Parallel Time: 0.7 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 927.9, Avg: 927.9, Max: 927.9, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.0, Avg: 0.1, Max: 0.1, Diff: 0.1, Sum: 0.2] + [Processed Buffers: Min: 1, Avg: 1.3, Max: 2, Diff: 1, Sum: 5] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.4, Avg: 0.4, Max: 0.4, Diff: 0.0, Sum: 1.6] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.6, Avg: 0.7, Max: 0.7, Diff: 0.0, Sum: 2.6] + [GC Worker End (ms): Min: 928.6, Avg: 928.6, Max: 928.6, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.5 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.2 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.2 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 5120.0K(21.0M)->0.0B(23.0M) Survivors: 4096.0K->2048.0K Heap: 351.6M(512.0M)->345.7M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.742+0800: 0.929: [GC concurrent-root-region-scan-start] +2021-06-29T17:22:44.742+0800: 0.930: [GC concurrent-root-region-scan-end, 0.0001764 secs] +2021-06-29T17:22:44.742+0800: 0.930: [GC concurrent-mark-start] +2021-06-29T17:22:44.746+0800: 0.933: [GC concurrent-mark-end, 0.0037656 secs] +2021-06-29T17:22:44.746+0800: 0.934: [GC remark 2021-06-29T17:22:44.746+0800: 0.934: [Finalize Marking, 0.0002083 secs] 2021-06-29T17:22:44.746+0800: 0.934: [GC ref-proc, 0.0001865 secs] 2021-06-29T17:22:44.746+0800: 0.934: [Unloading, 0.0004893 secs], 0.0018119 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.748+0800: 0.936: [GC cleanup 376M->376M(512M), 0.0004007 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.749+0800: 0.936: [GC pause (G1 Evacuation Pause) (young), 0.0027416 secs] + [Parallel Time: 2.2 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 936.6, Avg: 936.6, Max: 936.6, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.7] + [Update RS (ms): Min: 1.3, Avg: 1.3, Max: 1.3, Diff: 0.0, Sum: 5.1] + [Processed Buffers: Min: 23, Avg: 23.0, Max: 23, Diff: 0, Sum: 92] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.6, Avg: 0.6, Max: 0.7, Diff: 0.0, Sum: 2.6] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 2.1, Avg: 2.1, Max: 2.2, Diff: 0.1, Sum: 8.5] + [GC Worker End (ms): Min: 938.7, Avg: 938.7, Max: 938.7, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.5 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.2 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 23.0M(23.0M)->0.0B(21.0M) Survivors: 2048.0K->4096.0K Heap: 379.5M(512.0M)->354.1M(512.0M)] + [Times: user=0.06 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.756+0800: 0.944: [GC pause (G1 Evacuation Pause) (mixed), 0.0030402 secs] + [Parallel Time: 2.4 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 943.7, Avg: 943.7, Max: 943.7, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.7] + [Update RS (ms): Min: 0.8, Avg: 0.8, Max: 0.8, Diff: 0.0, Sum: 3.3] + [Processed Buffers: Min: 14, Avg: 14.5, Max: 15, Diff: 1, Sum: 58] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 1.3, Avg: 1.3, Max: 1.3, Diff: 0.0, Sum: 5.4] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 2.3, Avg: 2.4, Max: 2.4, Diff: 0.1, Sum: 9.5] + [GC Worker End (ms): Min: 946.1, Avg: 946.1, Max: 946.1, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.5 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.2 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 21.0M(21.0M)->0.0B(21.0M) Survivors: 4096.0K->4096.0K Heap: 381.7M(512.0M)->362.1M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.759+0800: 0.947: [GC pause (G1 Humongous Allocation) (young) (initial-mark), 0.0011612 secs] + [Parallel Time: 0.6 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 947.4, Avg: 947.4, Max: 947.4, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.1, Avg: 0.1, Max: 0.1, Diff: 0.0, Sum: 0.3] + [Processed Buffers: Min: 1, Avg: 1.5, Max: 3, Diff: 2, Sum: 6] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.3, Avg: 0.3, Max: 0.3, Diff: 0.0, Sum: 1.3] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.6, Avg: 0.6, Max: 0.6, Diff: 0.0, Sum: 2.3] + [GC Worker End (ms): Min: 948.0, Avg: 948.0, Max: 948.0, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.4 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.2 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 3072.0K(21.0M)->0.0B(24.0M) Survivors: 4096.0K->1024.0K Heap: 365.0M(512.0M)->361.2M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.761+0800: 0.949: [GC concurrent-root-region-scan-start] +2021-06-29T17:22:44.761+0800: 0.949: [GC concurrent-root-region-scan-end, 0.0001819 secs] +2021-06-29T17:22:44.761+0800: 0.949: [GC concurrent-mark-start] +2021-06-29T17:22:44.764+0800: 0.952: [GC concurrent-mark-end, 0.0036387 secs] +2021-06-29T17:22:44.765+0800: 0.953: [GC remark 2021-06-29T17:22:44.765+0800: 0.953: [Finalize Marking, 0.0001471 secs] 2021-06-29T17:22:44.765+0800: 0.953: [GC ref-proc, 0.0002098 secs] 2021-06-29T17:22:44.765+0800: 0.953: [Unloading, 0.0004711 secs], 0.0017724 secs] + [Times: user=0.06 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.767+0800: 0.955: [GC pause (G1 Evacuation Pause) (young), 0.0020797 secs] + [Parallel Time: 1.6 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 954.7, Avg: 954.7, Max: 954.7, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.5, Avg: 0.5, Max: 0.6, Diff: 0.0, Sum: 2.2] + [Processed Buffers: Min: 9, Avg: 10.0, Max: 11, Diff: 2, Sum: 40] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.7, Avg: 0.7, Max: 0.7, Diff: 0.1, Sum: 2.9] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 1.4, Avg: 1.5, Max: 1.5, Diff: 0.1, Sum: 5.8] + [GC Worker End (ms): Min: 956.2, Avg: 956.2, Max: 956.2, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.2 ms] + [Other: 0.4 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 24.0M(24.0M)->0.0B(21.0M) Survivors: 1024.0K->4096.0K Heap: 389.4M(512.0M)->368.3M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.769+0800: 0.957: [GC cleanup 368M->368M(512M), 0.0004602 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.774+0800: 0.962: [GC pause (G1 Evacuation Pause) (young), 0.0028290 secs] + [Parallel Time: 2.2 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 961.8, Avg: 961.8, Max: 961.9, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.7] + [Update RS (ms): Min: 1.2, Avg: 1.2, Max: 1.2, Diff: 0.0, Sum: 4.8] + [Processed Buffers: Min: 21, Avg: 21.3, Max: 22, Diff: 1, Sum: 85] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.7, Avg: 0.7, Max: 0.8, Diff: 0.1, Sum: 3.0] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 2.1, Avg: 2.1, Max: 2.2, Diff: 0.1, Sum: 8.6] + [GC Worker End (ms): Min: 964.0, Avg: 964.0, Max: 964.0, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.2 ms] + [Other: 0.4 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 21.0M(21.0M)->0.0B(21.0M) Survivors: 4096.0K->4096.0K Heap: 399.2M(512.0M)->375.5M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.780+0800: 0.968: [GC pause (G1 Evacuation Pause) (mixed) (to-space exhausted), 0.0032677 secs] + [Parallel Time: 2.8 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 968.5, Avg: 968.5, Max: 968.5, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.5, Avg: 0.6, Max: 0.6, Diff: 0.0, Sum: 2.2] + [Processed Buffers: Min: 9, Avg: 10.3, Max: 12, Diff: 3, Sum: 41] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 1.9, Avg: 1.9, Max: 1.9, Diff: 0.0, Sum: 7.6] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 2.7, Avg: 2.7, Max: 2.7, Diff: 0.0, Sum: 10.7] + [GC Worker End (ms): Min: 971.2, Avg: 971.2, Max: 971.2, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.4 ms] + [Evacuation Failure: 0.1 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 21.0M(21.0M)->0.0B(21.0M) Survivors: 4096.0K->4096.0K Heap: 400.8M(512.0M)->400.6M(512.0M)] + [Times: user=0.06 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.784+0800: 0.972: [GC pause (G1 Humongous Allocation) (young) (initial-mark), 0.0014314 secs] + [Parallel Time: 0.7 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 972.1, Avg: 972.1, Max: 972.2, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.1, Avg: 0.1, Max: 0.1, Diff: 0.0, Sum: 0.3] + [Processed Buffers: Min: 1, Avg: 2.3, Max: 4, Diff: 3, Sum: 9] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.4, Avg: 0.4, Max: 0.4, Diff: 0.0, Sum: 1.7] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.7, Avg: 0.7, Max: 0.7, Diff: 0.0, Sum: 2.7] + [GC Worker End (ms): Min: 972.8, Avg: 972.8, Max: 972.8, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.2 ms] + [Other: 0.5 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.2 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 2048.0K(21.0M)->0.0B(23.0M) Survivors: 4096.0K->2048.0K Heap: 402.2M(512.0M)->401.1M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.786+0800: 0.974: [GC concurrent-root-region-scan-start] +2021-06-29T17:22:44.786+0800: 0.974: [GC concurrent-root-region-scan-end, 0.0001755 secs] +2021-06-29T17:22:44.786+0800: 0.974: [GC concurrent-mark-start] +2021-06-29T17:22:44.788+0800: 0.976: [GC pause (G1 Humongous Allocation) (young) (to-space exhausted), 0.0015138 secs] + [Parallel Time: 1.0 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 976.1, Avg: 976.1, Max: 976.2, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.7] + [Update RS (ms): Min: 0.6, Avg: 0.7, Max: 0.7, Diff: 0.0, Sum: 2.6] + [Processed Buffers: Min: 11, Avg: 12.0, Max: 13, Diff: 2, Sum: 48] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.0, Sum: 0.2] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.9, Avg: 0.9, Max: 1.0, Diff: 0.1, Sum: 3.7] + [GC Worker End (ms): Min: 977.0, Avg: 977.0, Max: 977.1, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.5 ms] + [Evacuation Failure: 0.1 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.2 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 14.0M(23.0M)->0.0B(25.0M) Survivors: 2048.0K->0.0B Heap: 419.3M(512.0M)->414.3M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.791+0800: 0.978: [GC pause (G1 Humongous Allocation) (young) (to-space exhausted), 0.0010999 secs] + [Parallel Time: 0.5 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 978.6, Avg: 978.6, Max: 978.7, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.7] + [Update RS (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Processed Buffers: Min: 3, Avg: 4.5, Max: 5, Diff: 2, Sum: 18] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.0, Sum: 0.2] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.4, Avg: 0.4, Max: 0.4, Diff: 0.0, Sum: 1.6] + [GC Worker End (ms): Min: 979.0, Avg: 979.0, Max: 979.0, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.2 ms] + [Other: 0.4 ms] + [Evacuation Failure: 0.1 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 6144.0K(25.0M)->0.0B(25.0M) Survivors: 0.0B->0.0B Heap: 421.0M(512.0M)->417.8M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.793+0800: 0.980: [GC pause (G1 Evacuation Pause) (young) (to-space exhausted), 0.0007119 secs] + [Parallel Time: 0.4 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 980.5, Avg: 980.5, Max: 980.6, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.1, Avg: 0.1, Max: 0.1, Diff: 0.0, Sum: 0.5] + [Processed Buffers: Min: 3, Avg: 3.5, Max: 5, Diff: 2, Sum: 14] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.3, Avg: 0.3, Max: 0.3, Diff: 0.0, Sum: 1.3] + [GC Worker End (ms): Min: 980.9, Avg: 980.9, Max: 980.9, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.3 ms] + [Evacuation Failure: 0.0 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 4096.0K(25.0M)->0.0B(25.0M) Survivors: 0.0B->0.0B Heap: 422.4M(512.0M)->421.2M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.794+0800: 0.982: [GC pause (G1 Evacuation Pause) (young) (to-space exhausted), 0.0007798 secs] + [Parallel Time: 0.4 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 981.6, Avg: 981.6, Max: 981.6, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.1, Avg: 0.1, Max: 0.2, Diff: 0.0, Sum: 0.5] + [Processed Buffers: Min: 3, Avg: 4.0, Max: 5, Diff: 2, Sum: 16] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.3, Avg: 0.3, Max: 0.4, Diff: 0.0, Sum: 1.4] + [GC Worker End (ms): Min: 981.9, Avg: 982.0, Max: 982.0, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.4 ms] + [Evacuation Failure: 0.1 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.0 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 1024.0K(25.0M)->0.0B(25.0M) Survivors: 0.0B->0.0B Heap: 422.9M(512.0M)->422.9M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.795+0800: 0.982: [Full GC (Allocation Failure) 422M->351M(512M), 0.0336692 secs] + [Eden: 0.0B(25.0M)->0.0B(25.0M) Survivors: 0.0B->0.0B Heap: 422.9M(512.0M)->351.4M(512.0M)], [Metaspace: 2673K->2673K(1056768K)] + [Times: user=0.03 sys=0.00, real=0.03 secs] +2021-06-29T17:22:44.829+0800: 1.016: [GC concurrent-mark-abort] +2021-06-29T17:22:44.829+0800: 1.016: [GC pause (G1 Humongous Allocation) (young) (initial-mark), 0.0006936 secs] + [Parallel Time: 0.4 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 1016.5, Avg: 1016.5, Max: 1016.7, Diff: 0.2] + [Ext Root Scanning (ms): Min: 0.0, Avg: 0.2, Max: 0.2, Diff: 0.2, Sum: 0.6] + [Update RS (ms): Min: 0.0, Avg: 0.0, Max: 0.2, Diff: 0.2, Sum: 0.2] + [Processed Buffers: Min: 0, Avg: 0.5, Max: 1, Diff: 1, Sum: 2] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination (ms): Min: 0.0, Avg: 0.1, Max: 0.1, Diff: 0.1, Sum: 0.4] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.2, Avg: 0.3, Max: 0.4, Diff: 0.2, Sum: 1.2] + [GC Worker End (ms): Min: 1016.8, Avg: 1016.8, Max: 1016.8, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.2 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 1024.0K(25.0M)->0.0B(24.0M) Survivors: 0.0B->1024.0K Heap: 351.5M(512.0M)->351.5M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.830+0800: 1.017: [GC concurrent-root-region-scan-start] +2021-06-29T17:22:44.830+0800: 1.017: [GC concurrent-root-region-scan-end, 0.0000371 secs] +2021-06-29T17:22:44.830+0800: 1.017: [GC concurrent-mark-start] +2021-06-29T17:22:44.833+0800: 1.021: [GC concurrent-mark-end, 0.0036910 secs] +2021-06-29T17:22:44.834+0800: 1.021: [GC remark 2021-06-29T17:22:44.834+0800: 1.021: [Finalize Marking, 0.0002090 secs] 2021-06-29T17:22:44.834+0800: 1.021: [GC ref-proc, 0.0001884 secs] 2021-06-29T17:22:44.834+0800: 1.022: [Unloading, 0.0004897 secs], 0.0018864 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.836+0800: 1.023: [GC cleanup 377M->377M(512M), 0.0014021 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.838+0800: 1.026: [GC pause (G1 Evacuation Pause) (young), 0.0031772 secs] + [Parallel Time: 1.7 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 1026.2, Avg: 1026.2, Max: 1026.3, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.3, Diff: 0.1, Sum: 0.8] + [Update RS (ms): Min: 0.7, Avg: 0.8, Max: 0.8, Diff: 0.0, Sum: 3.0] + [Processed Buffers: Min: 11, Avg: 13.0, Max: 14, Diff: 3, Sum: 52] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.5, Avg: 0.5, Max: 0.5, Diff: 0.0, Sum: 1.9] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 1.4, Avg: 1.4, Max: 1.5, Diff: 0.1, Sum: 5.8] + [GC Worker End (ms): Min: 1027.7, Avg: 1027.7, Max: 1027.7, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.6 ms] + [Other: 0.9 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.2 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.5 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 24.0M(24.0M)->0.0B(21.0M) Survivors: 1024.0K->4096.0K Heap: 381.7M(512.0M)->357.3M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.843+0800: 1.030: [GC pause (G1 Humongous Allocation) (young) (initial-mark), 0.0023706 secs] + [Parallel Time: 0.9 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 1030.5, Avg: 1030.6, Max: 1030.6, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.3, Diff: 0.1, Sum: 0.8] + [Update RS (ms): Min: 0.0, Avg: 0.1, Max: 0.1, Diff: 0.1, Sum: 0.2] + [Processed Buffers: Min: 1, Avg: 1.5, Max: 2, Diff: 1, Sum: 6] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.4, Avg: 0.5, Max: 0.5, Diff: 0.1, Sum: 1.8] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.7, Avg: 0.8, Max: 0.8, Diff: 0.1, Sum: 3.0] + [GC Worker End (ms): Min: 1031.3, Avg: 1031.3, Max: 1031.3, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.5 ms] + [Other: 1.0 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.4 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.4 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 7168.0K(21.0M)->0.0B(23.0M) Survivors: 4096.0K->2048.0K Heap: 363.7M(512.0M)->357.8M(512.0M)] + [Times: user=0.01 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.846+0800: 1.033: [GC concurrent-root-region-scan-start] +2021-06-29T17:22:44.846+0800: 1.033: [GC concurrent-root-region-scan-end, 0.0001726 secs] +2021-06-29T17:22:44.846+0800: 1.033: [GC concurrent-mark-start] +2021-06-29T17:22:44.850+0800: 1.037: [GC concurrent-mark-end, 0.0038281 secs] +2021-06-29T17:22:44.850+0800: 1.037: [GC remark 2021-06-29T17:22:44.850+0800: 1.037: [Finalize Marking, 0.0002637 secs] 2021-06-29T17:22:44.850+0800: 1.037: [GC ref-proc, 0.0001876 secs] 2021-06-29T17:22:44.850+0800: 1.038: [Unloading, 0.0005528 secs], 0.0020653 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.852+0800: 1.040: [GC cleanup 385M->385M(512M), 0.0006161 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.853+0800: 1.041: [GC pause (G1 Evacuation Pause) (young), 0.0027502 secs] + [Parallel Time: 1.7 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 1040.9, Avg: 1041.0, Max: 1041.1, Diff: 0.2] + [Ext Root Scanning (ms): Min: 0.0, Avg: 0.1, Max: 0.2, Diff: 0.2, Sum: 0.6] + [Update RS (ms): Min: 0.6, Avg: 0.6, Max: 0.6, Diff: 0.0, Sum: 2.3] + [Processed Buffers: Min: 9, Avg: 10.8, Max: 12, Diff: 3, Sum: 43] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.6, Avg: 0.6, Max: 0.7, Diff: 0.1, Sum: 2.5] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 1.3, Avg: 1.4, Max: 1.5, Diff: 0.2, Sum: 5.6] + [GC Worker End (ms): Min: 1042.4, Avg: 1042.4, Max: 1042.4, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.2 ms] + [Other: 0.9 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.2 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.5 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 23.0M(23.0M)->0.0B(21.0M) Survivors: 2048.0K->4096.0K Heap: 385.4M(512.0M)->364.8M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.861+0800: 1.048: [GC pause (G1 Evacuation Pause) (mixed), 0.0030294 secs] + [Parallel Time: 2.7 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 1048.2, Avg: 1048.3, Max: 1048.4, Diff: 0.2] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.3, Diff: 0.1, Sum: 0.8] + [Update RS (ms): Min: 1.3, Avg: 1.3, Max: 1.3, Diff: 0.0, Sum: 5.1] + [Processed Buffers: Min: 22, Avg: 22.8, Max: 24, Diff: 2, Sum: 91] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 1.0, Avg: 1.0, Max: 1.0, Diff: 0.0, Sum: 4.1] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 2.5, Avg: 2.5, Max: 2.6, Diff: 0.2, Sum: 10.1] + [GC Worker End (ms): Min: 1050.8, Avg: 1050.8, Max: 1050.8, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 21.0M(21.0M)->0.0B(21.0M) Survivors: 4096.0K->4096.0K Heap: 396.4M(512.0M)->372.1M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.864+0800: 1.052: [GC pause (G1 Humongous Allocation) (young) (initial-mark), 0.0022473 secs] + [Parallel Time: 0.9 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 1051.9, Avg: 1051.9, Max: 1052.0, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.3, Diff: 0.1, Sum: 0.9] + [Update RS (ms): Min: 0.0, Avg: 0.1, Max: 0.1, Diff: 0.0, Sum: 0.2] + [Processed Buffers: Min: 1, Avg: 1.3, Max: 2, Diff: 1, Sum: 5] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.3, Avg: 0.4, Max: 0.4, Diff: 0.0, Sum: 1.4] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.6, Avg: 0.7, Max: 0.7, Diff: 0.1, Sum: 2.6] + [GC Worker End (ms): Min: 1052.6, Avg: 1052.6, Max: 1052.6, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.5 ms] + [Other: 0.8 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.4 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.1 ms] + [Eden: 1024.0K(21.0M)->0.0B(24.0M) Survivors: 4096.0K->1024.0K Heap: 372.7M(512.0M)->372.5M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.867+0800: 1.054: [GC concurrent-root-region-scan-start] +2021-06-29T17:22:44.867+0800: 1.054: [GC concurrent-root-region-scan-end, 0.0001214 secs] +2021-06-29T17:22:44.867+0800: 1.054: [GC concurrent-mark-start] +2021-06-29T17:22:44.871+0800: 1.058: [GC concurrent-mark-end, 0.0038479 secs] +2021-06-29T17:22:44.871+0800: 1.058: [GC remark 2021-06-29T17:22:44.871+0800: 1.058: [Finalize Marking, 0.0003963 secs] 2021-06-29T17:22:44.872+0800: 1.059: [GC ref-proc, 0.0001686 secs] 2021-06-29T17:22:44.872+0800: 1.059: [Unloading, 0.0006757 secs], 0.0024906 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.874+0800: 1.061: [GC cleanup 402M->402M(512M), 0.0016944 secs] + [Times: user=0.00 sys=0.01, real=0.00 secs] +2021-06-29T17:22:44.876+0800: 1.063: [GC pause (G1 Evacuation Pause) (young), 0.0021855 secs] + [Parallel Time: 1.9 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 1063.5, Avg: 1063.6, Max: 1063.7, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.3, Diff: 0.1, Sum: 0.8] + [Update RS (ms): Min: 1.0, Avg: 1.0, Max: 1.0, Diff: 0.0, Sum: 3.9] + [Processed Buffers: Min: 11, Avg: 15.3, Max: 18, Diff: 7, Sum: 61] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.5, Avg: 0.5, Max: 0.6, Diff: 0.1, Sum: 2.1] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 1.7, Avg: 1.7, Max: 1.8, Diff: 0.2, Sum: 6.9] + [GC Worker End (ms): Min: 1065.3, Avg: 1065.3, Max: 1065.3, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.0 ms] + [Other: 0.3 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.0 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 24.0M(24.0M)->0.0B(21.0M) Survivors: 1024.0K->4096.0K Heap: 403.5M(512.0M)->375.7M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.883+0800: 1.070: [GC pause (G1 Evacuation Pause) (mixed) (to-space exhausted), 0.0032874 secs] + [Parallel Time: 2.4 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 1070.0, Avg: 1070.1, Max: 1070.2, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.7] + [Update RS (ms): Min: 1.1, Avg: 1.2, Max: 1.2, Diff: 0.1, Sum: 4.7] + [Processed Buffers: Min: 20, Avg: 20.8, Max: 21, Diff: 1, Sum: 83] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.8, Avg: 0.8, Max: 0.8, Diff: 0.1, Sum: 3.3] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 2.2, Avg: 2.2, Max: 2.3, Diff: 0.1, Sum: 8.9] + [GC Worker End (ms): Min: 1072.3, Avg: 1072.3, Max: 1072.3, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.2 ms] + [Other: 0.7 ms] + [Evacuation Failure: 0.2 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.3 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 21.0M(21.0M)->0.0B(22.0M) Survivors: 4096.0K->3072.0K Heap: 406.4M(512.0M)->398.8M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.886+0800: 1.074: [GC pause (G1 Humongous Allocation) (young) (initial-mark), 0.0014048 secs] + [Parallel Time: 0.7 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 1073.7, Avg: 1073.7, Max: 1073.8, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.1, Avg: 0.2, Max: 0.2, Diff: 0.1, Sum: 0.7] + [Update RS (ms): Min: 0.1, Avg: 0.1, Max: 0.1, Diff: 0.0, Sum: 0.3] + [Processed Buffers: Min: 1, Avg: 2.3, Max: 3, Diff: 2, Sum: 9] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.2, Avg: 0.3, Max: 0.3, Diff: 0.1, Sum: 1.1] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.5, Avg: 0.6, Max: 0.6, Diff: 0.1, Sum: 2.3] + [GC Worker End (ms): Min: 1074.3, Avg: 1074.3, Max: 1074.3, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.2 ms] + [Other: 0.6 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.3 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 2048.0K(22.0M)->0.0B(24.0M) Survivors: 3072.0K->1024.0K Heap: 400.2M(512.0M)->398.4M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.888+0800: 1.075: [GC concurrent-root-region-scan-start] +2021-06-29T17:22:44.888+0800: 1.075: [GC concurrent-root-region-scan-end, 0.0001076 secs] +2021-06-29T17:22:44.888+0800: 1.075: [GC concurrent-mark-start] +2021-06-29T17:22:44.891+0800: 1.078: [GC pause (G1 Evacuation Pause) (young) (to-space exhausted), 0.0016701 secs] + [Parallel Time: 0.9 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 1078.0, Avg: 1078.0, Max: 1078.0, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.5, Avg: 0.5, Max: 0.5, Diff: 0.0, Sum: 2.1] + [Processed Buffers: Min: 9, Avg: 9.5, Max: 10, Diff: 1, Sum: 38] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.0, Avg: 0.1, Max: 0.1, Diff: 0.1, Sum: 0.3] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.2] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.8, Avg: 0.8, Max: 0.8, Diff: 0.0, Sum: 3.3] + [GC Worker End (ms): Min: 1078.8, Avg: 1078.8, Max: 1078.8, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.2 ms] + [Other: 0.6 ms] + [Evacuation Failure: 0.1 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.2 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 16.0M(24.0M)->0.0B(25.0M) Survivors: 1024.0K->0.0B Heap: 418.3M(512.0M)->413.5M(512.0M)] + [Times: user=0.01 sys=0.02, real=0.00 secs] +2021-06-29T17:22:44.893+0800: 1.081: [GC pause (G1 Humongous Allocation) (young) (to-space exhausted), 0.0013855 secs] + [Parallel Time: 0.6 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 1081.1, Avg: 1081.2, Max: 1081.3, Diff: 0.1] + [Ext Root Scanning (ms): Min: 0.0, Avg: 0.1, Max: 0.2, Diff: 0.1, Sum: 0.5] + [Update RS (ms): Min: 0.2, Avg: 0.3, Max: 0.3, Diff: 0.1, Sum: 1.1] + [Processed Buffers: Min: 5, Avg: 6.5, Max: 9, Diff: 4, Sum: 26] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.3, Avg: 0.4, Max: 0.5, Diff: 0.1, Sum: 1.8] + [GC Worker End (ms): Min: 1081.6, Avg: 1081.6, Max: 1081.6, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.2 ms] + [Other: 0.6 ms] + [Evacuation Failure: 0.2 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.2 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 5120.0K(25.0M)->0.0B(25.0M) Survivors: 0.0B->0.0B Heap: 420.3M(512.0M)->419.0M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.895+0800: 1.083: [GC concurrent-mark-end, 0.0074166 secs] +2021-06-29T17:22:44.895+0800: 1.083: [GC remark 2021-06-29T17:22:44.895+0800: 1.083: [Finalize Marking, 0.0001252 secs] 2021-06-29T17:22:44.895+0800: 1.083: [GC ref-proc, 0.0002009 secs] 2021-06-29T17:22:44.895+0800: 1.083: [Unloading, 0.0004416 secs], 0.0017945 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.897+0800: 1.085: [GC cleanup 420M->420M(512M), 0.0006463 secs] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.898+0800: 1.086: [GC pause (G1 Humongous Allocation) (young) (to-space exhausted), 0.0009426 secs] + [Parallel Time: 0.4 ms, GC Workers: 4] + [GC Worker Start (ms): Min: 1085.7, Avg: 1085.7, Max: 1085.7, Diff: 0.0] + [Ext Root Scanning (ms): Min: 0.2, Avg: 0.2, Max: 0.2, Diff: 0.0, Sum: 0.7] + [Update RS (ms): Min: 0.1, Avg: 0.1, Max: 0.1, Diff: 0.0, Sum: 0.5] + [Processed Buffers: Min: 2, Avg: 3.0, Max: 4, Diff: 2, Sum: 12] + [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Object Copy (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [Termination Attempts: Min: 1, Avg: 1.0, Max: 1, Diff: 0, Sum: 4] + [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0] + [GC Worker Total (ms): Min: 0.3, Avg: 0.3, Max: 0.3, Diff: 0.0, Sum: 1.2] + [GC Worker End (ms): Min: 1086.0, Avg: 1086.0, Max: 1086.0, Diff: 0.0] + [Code Root Fixup: 0.0 ms] + [Code Root Purge: 0.0 ms] + [Clear CT: 0.1 ms] + [Other: 0.4 ms] + [Evacuation Failure: 0.1 ms] + [Choose CSet: 0.0 ms] + [Ref Proc: 0.1 ms] + [Ref Enq: 0.0 ms] + [Redirty Cards: 0.1 ms] + [Humongous Register: 0.1 ms] + [Humongous Reclaim: 0.0 ms] + [Free CSet: 0.0 ms] + [Eden: 1024.0K(25.0M)->0.0B(25.0M) Survivors: 0.0B->0.0B Heap: 420.5M(512.0M)->420.5M(512.0M)] + [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:22:44.899+0800: 1.087: [Full GC (Allocation Failure) 420M->348M(512M), 0.0345999 secs] + [Eden: 0.0B(25.0M)->0.0B(25.0M) Survivors: 0.0B->0.0B Heap: 420.5M(512.0M)->348.1M(512.0M)], [Metaspace: 2673K->2673K(1056768K)] + [Times: user=0.03 sys=0.00, real=0.04 secs] +Heap + garbage-first heap total 524288K, used 357025K [0x00000000e0000000, 0x00000000e0101000, 0x0000000100000000) + region size 1024K, 1 young (1024K), 0 survivors (0K) + Metaspace used 2679K, capacity 4486K, committed 4864K, reserved 1056768K + class space used 288K, capacity 386K, committed 512K, reserved 1048576K diff --git a/02nio/homework/Week02.md b/02nio/homework/Week02.md index e44f1215..40717945 100644 --- a/02nio/homework/Week02.md +++ b/02nio/homework/Week02.md @@ -1,5 +1,258 @@ 1.ļ¼ˆé€‰åšļ¼‰ä½æē”Ø GCLogAnalysis.java č‡Ŗå·±ę¼”ē»ƒäø€éäø²č”Œ / 并蔌 /CMS/G1 ēš„ę”ˆä¾‹ć€‚ + +串蔌 +``` +java -Xmx512m -Xms512m -XX:+UseSerialGC -verbose:gc -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:gc.log GCLogAnalysis + +PS F:\github\JavaCourseCodes\01jvm> java -Xmx512m -Xms512m -XX:+UseSerialGC -verbose:gc -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:gc.log GCLogAnalysis +ę­£åœØę‰§č”Œ... +ę‰§č”Œē»“ęŸ!å…±ē”ŸęˆåÆ¹č±”ę¬”ę•°:9546 + +Java HotSpot(TM) 64-Bit Server VM (25.192-b04) for windows-amd64 JRE (1.8.0_192-ea-b04), built on Aug 1 2018 20:11:41 by "java_re" with MS VC++ 10.0 (VS2010) +Memory: 4k page, physical 16688036k(8143580k free), swap 19702692k(6603852k free) +CommandLine flags: -XX:InitialHeapSize=536870912 -XX:MaxHeapSize=536870912 -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation -XX:+UseSerialGC +2021-06-29T17:02:35.974+0800: 0.194: [GC (Allocation Failure) 2021-06-29T17:02:35.976+0800: 0.197: [DefNew: 139776K->17472K(157248K), 0.0297976 secs] 139776K->46749K(506816K), 0.0323169 secs] [Times: user=0.03 sys=0.00, real=0.03 secs] +2021-06-29T17:02:36.027+0800: 0.248: [GC (Allocation Failure) 2021-06-29T17:02:36.027+0800: 0.248: [DefNew: 157248K->17471K(157248K), 0.0356930 secs] 186525K->85914K(506816K), 0.0357487 secs] [Times: user=0.01 sys=0.03, real=0.04 secs] +2021-06-29T17:02:36.083+0800: 0.304: [GC (Allocation Failure) 2021-06-29T17:02:36.083+0800: 0.304: [DefNew: 156823K->17471K(157248K), 0.0285703 secs] 225266K->133731K(506816K), 0.0286240 secs] [Times: user=0.01 sys=0.02, real=0.03 secs] +2021-06-29T17:02:36.134+0800: 0.355: [GC (Allocation Failure) 2021-06-29T17:02:36.134+0800: 0.355: [DefNew: 157247K->17472K(157248K), 0.0308180 secs] 273507K->181250K(506816K), 0.0308724 secs] [Times: user=0.02 sys=0.02, real=0.03 secs] +2021-06-29T17:02:36.184+0800: 0.405: [GC (Allocation Failure) 2021-06-29T17:02:36.184+0800: 0.405: [DefNew: 157248K->17471K(157248K), 0.0317698 secs] 321026K->226857K(506816K), 0.0318275 secs] [Times: user=0.00 sys=0.03, real=0.03 secs] +2021-06-29T17:02:36.238+0800: 0.459: [GC (Allocation Failure) 2021-06-29T17:02:36.238+0800: 0.459: [DefNew: 157247K->17470K(157248K), 0.0280408 secs] 366633K->268424K(506816K), 0.0280980 secs] [Times: user=0.00 sys=0.02, real=0.03 secs] +2021-06-29T17:02:36.288+0800: 0.508: [GC (Allocation Failure) 2021-06-29T17:02:36.288+0800: 0.508: [DefNew: 157246K->17471K(157248K), 0.0250078 secs] 408200K->308623K(506816K), 0.0250635 secs] [Times: user=0.01 sys=0.00, real=0.02 secs] +2021-06-29T17:02:36.335+0800: 0.555: [GC (Allocation Failure) 2021-06-29T17:02:36.335+0800: 0.555: [DefNew: 157247K->17470K(157248K), 0.0275924 secs] 448399K->353501K(506816K), 0.0276606 secs] [Times: user=0.02 sys=0.01, real=0.03 secs] +2021-06-29T17:02:36.383+0800: 0.603: [GC (Allocation Failure) 2021-06-29T17:02:36.383+0800: 0.603: [DefNew: 157246K->157246K(157248K), 0.0000172 secs]2021-06-29T17:02:36.383+0800: 0.603: [Tenured: 336031K->277589K(349568K), 0.0333785 secs] 493277K->277589K(506816K), [Metaspace: 2672K->2672K(1056768K)], 0.0334862 secs] [Times: user=0.03 sys=0.00, real=0.03 secs] +2021-06-29T17:02:36.434+0800: 0.655: [GC (Allocation Failure) 2021-06-29T17:02:36.434+0800: 0.655: [DefNew: 139633K->17472K(157248K), 0.0067071 secs] 417223K->325343K(506816K), 0.0067803 secs] [Times: user=0.01 sys=0.00, real=0.01 secs] +2021-06-29T17:02:36.463+0800: 0.684: [GC (Allocation Failure) 2021-06-29T17:02:36.463+0800: 0.684: [DefNew: 157248K->157248K(157248K), 0.0000168 secs]2021-06-29T17:02:36.463+0800: 0.684: [Tenured: 307871K->313266K(349568K), 0.0376968 secs] 465119K->313266K(506816K), [Metaspace: 2672K->2672K(1056768K)], 0.0377811 secs] [Times: user=0.03 sys=0.00, real=0.04 secs] +2021-06-29T17:02:36.519+0800: 0.740: [GC (Allocation Failure) 2021-06-29T17:02:36.519+0800: 0.740: [DefNew: 139776K->139776K(157248K), 0.0000170 secs]2021-06-29T17:02:36.519+0800: 0.740: [Tenured: 313266K->319210K(349568K), 0.0407889 secs] 453042K->319210K(506816K), [Metaspace: 2672K->2672K(1056768K)], 0.0408861 secs] [Times: user=0.03 sys=0.00, real=0.04 secs] +2021-06-29T17:02:36.581+0800: 0.801: [GC (Allocation Failure) 2021-06-29T17:02:36.581+0800: 0.801: [DefNew: 139675K->139675K(157248K), 0.0000167 secs]2021-06-29T17:02:36.581+0800: 0.801: [Tenured: 319210K->312680K(349568K), 0.0393429 secs] 458885K->312680K(506816K), [Metaspace: 2672K->2672K(1056768K)], 0.0394584 secs] [Times: user=0.03 sys=0.00, real=0.04 secs] +2021-06-29T17:02:36.639+0800: 0.860: [GC (Allocation Failure) 2021-06-29T17:02:36.639+0800: 0.860: [DefNew: 139776K->139776K(157248K), 0.0000177 secs]2021-06-29T17:02:36.639+0800: 0.860: [Tenured: 312680K->346213K(349568K), 0.0330636 secs] 452456K->346213K(506816K), [Metaspace: 2672K->2672K(1056768K)], 0.0331788 secs] [Times: user=0.03 sys=0.00, real=0.03 secs] +2021-06-29T17:02:36.692+0800: 0.913: [GC (Allocation Failure) 2021-06-29T17:02:36.692+0800: 0.913: [DefNew: 139776K->139776K(157248K), 0.0000304 secs]2021-06-29T17:02:36.692+0800: 0.913: [Tenured: 346213K->349509K(349568K), 0.0389850 secs] 485989K->350485K(506816K), [Metaspace: 2672K->2672K(1056768K)], 0.0390817 secs] [Times: user=0.03 sys=0.00, real=0.04 secs] +2021-06-29T17:02:36.755+0800: 0.976: [Full GC (Allocation Failure) 2021-06-29T17:02:36.755+0800: 0.976: [Tenured: 349509K->349384K(349568K), 0.0391714 secs] 506346K->349777K(506816K), [Metaspace: 2672K->2672K(1056768K)], 0.0392342 secs] [Times: user=0.03 sys=0.00, real=0.04 secs] +2021-06-29T17:02:36.817+0800: 1.039: [Full GC (Allocation Failure) 2021-06-29T17:02:36.818+0800: 1.039: [Tenured: 349526K->337195K(349568K), 0.0430721 secs] 506773K->337195K(506816K), [Metaspace: 2672K->2672K(1056768K)], 0.0431368 secs] [Times: user=0.05 sys=0.00, real=0.04 secs] +Heap + def new generation total 157248K, used 90343K [0x00000000e0000000, 0x00000000eaaa0000, 0x00000000eaaa0000) + eden space 139776K, 64% used [0x00000000e0000000, 0x00000000e5839c08, 0x00000000e8880000) + from space 17472K, 0% used [0x00000000e9990000, 0x00000000e9990000, 0x00000000eaaa0000) + to space 17472K, 0% used [0x00000000e8880000, 0x00000000e8880000, 0x00000000e9990000) + tenured generation total 349568K, used 337195K [0x00000000eaaa0000, 0x0000000100000000, 0x0000000100000000) + the space 349568K, 96% used [0x00000000eaaa0000, 0x00000000ff3eafe0, 0x00000000ff3eb000, 0x0000000100000000) + Metaspace used 2678K, capacity 4486K, committed 4864K, reserved 1056768K + class space used 288K, capacity 386K, committed 512K, reserved 1048576K +``` + +并蔌: +``` +java -Xmx512m -Xms512m -XX:+UseParallelGC -verbose:gc -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:gc.log GCLogAnalysis + +PS F:\github\JavaCourseCodes\01jvm> java -Xmx512m -Xms512m -XX:+UseParallelGC -verbose:gc -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:gc.log GCLogAnalysis +ę­£åœØę‰§č”Œ... +ę‰§č”Œē»“ęŸ!å…±ē”ŸęˆåÆ¹č±”ę¬”ę•°:9779 + +Java HotSpot(TM) 64-Bit Server VM (25.192-b04) for windows-amd64 JRE (1.8.0_192-ea-b04), built on Aug 1 2018 20:11:41 by "java_re" with MS VC++ 10.0 (VS2010) +Memory: 4k page, physical 16688036k(8121108k free), swap 19702692k(6506856k free) +CommandLine flags: -XX:InitialHeapSize=536870912 -XX:MaxHeapSize=536870912 -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC +2021-06-29T17:07:25.420+0800: 0.188: [GC (Allocation Failure) [PSYoungGen: 131351K->21487K(153088K)] 131351K->48275K(502784K), 0.0102161 secs] [Times: user=0.02 sys=0.05, real=0.01 secs] +2021-06-29T17:07:25.450+0800: 0.218: [GC (Allocation Failure) [PSYoungGen: 153071K->21499K(153088K)] 179859K->93459K(502784K), 0.0131513 secs] [Times: user=0.05 sys=0.02, real=0.01 secs] +2021-06-29T17:07:25.483+0800: 0.251: [GC (Allocation Failure) [PSYoungGen: 153001K->21495K(153088K)] 224961K->137591K(502784K), 0.0108722 secs] [Times: user=0.06 sys=0.00, real=0.01 secs] +2021-06-29T17:07:25.514+0800: 0.282: [GC (Allocation Failure) [PSYoungGen: 153079K->21499K(153088K)] 269175K->180168K(502784K), 0.0111001 secs] [Times: user=0.00 sys=0.06, real=0.01 secs] +2021-06-29T17:07:25.546+0800: 0.314: [GC (Allocation Failure) [PSYoungGen: 153083K->21503K(153088K)] 311752K->220047K(502784K), 0.0103159 secs] [Times: user=0.06 sys=0.00, real=0.01 secs] +2021-06-29T17:07:25.577+0800: 0.345: [GC (Allocation Failure) [PSYoungGen: 153087K->21485K(80384K)] 351631K->258687K(430080K), 0.0102362 secs] [Times: user=0.06 sys=0.00, real=0.01 secs] +2021-06-29T17:07:25.596+0800: 0.364: [GC (Allocation Failure) [PSYoungGen: 80365K->34668K(116736K)] 317567K->278580K(466432K), 0.0047976 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] +2021-06-29T17:07:25.608+0800: 0.376: [GC (Allocation Failure) [PSYoungGen: 93297K->47197K(116736K)] 337209K->296714K(466432K), 0.0057967 secs] [Times: user=0.06 sys=0.00, real=0.01 secs] +2021-06-29T17:07:25.622+0800: 0.390: [GC (Allocation Failure) [PSYoungGen: 106077K->57664K(116736K)] 355594K->315453K(466432K), 0.0071927 secs] [Times: user=0.06 sys=0.00, real=0.01 secs] +2021-06-29T17:07:25.637+0800: 0.405: [GC (Allocation Failure) [PSYoungGen: 116544K->39771K(116736K)] 374333K->332252K(466432K), 0.0092112 secs] [Times: user=0.02 sys=0.05, real=0.01 secs] +2021-06-29T17:07:25.646+0800: 0.414: [Full GC (Ergonomics) [PSYoungGen: 39771K->0K(116736K)] [ParOldGen: 292480K->233815K(349696K)] 332252K->233815K(466432K), [Metaspace: 2672K->2672K(1056768K)], 0.0276540 secs] [Times: user=0.06 sys=0.02, real=0.03 secs] +2021-06-29T17:07:25.684+0800: 0.452: [GC (Allocation Failure) [PSYoungGen: 58739K->20621K(116736K)] 292555K->254436K(466432K), 0.0026108 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:07:25.695+0800: 0.462: [GC (Allocation Failure) [PSYoungGen: 79415K->20609K(116736K)] 313230K->273658K(466432K), 0.0042444 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:07:25.708+0800: 0.476: [GC (Allocation Failure) [PSYoungGen: 79360K->20418K(116736K)] 332409K->292989K(466432K), 0.0044261 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] +2021-06-29T17:07:25.720+0800: 0.488: [GC (Allocation Failure) [PSYoungGen: 79298K->19466K(116736K)] 351869K->310811K(466432K), 0.0041327 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:07:25.734+0800: 0.501: [GC (Allocation Failure) [PSYoungGen: 78273K->19215K(116736K)] 369618K->329870K(466432K), 0.0054318 secs] [Times: user=0.05 sys=0.01, real=0.01 secs] +2021-06-29T17:07:25.739+0800: 0.507: [Full GC (Ergonomics) [PSYoungGen: 19215K->0K(116736K)] [ParOldGen: 310655K->263662K(349696K)] 329870K->263662K(466432K), [Metaspace: 2672K->2672K(1056768K)], 0.0275365 secs] [Times: user=0.08 sys=0.00, real=0.03 secs] +2021-06-29T17:07:25.774+0800: 0.543: [GC (Allocation Failure) [PSYoungGen: 58562K->20462K(116736K)] 322225K->284125K(466432K), 0.0023833 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:07:25.785+0800: 0.553: [GC (Allocation Failure) [PSYoungGen: 78903K->17693K(116736K)] 342566K->299926K(466432K), 0.0040432 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:07:25.798+0800: 0.566: [GC (Allocation Failure) [PSYoungGen: 76489K->17264K(116736K)] 358723K->316062K(466432K), 0.0036958 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:07:25.810+0800: 0.579: [GC (Allocation Failure) [PSYoungGen: 76144K->17506K(116736K)] 374942K->332903K(466432K), 0.0041170 secs] [Times: user=0.06 sys=0.00, real=0.00 secs] +2021-06-29T17:07:25.814+0800: 0.583: [Full GC (Ergonomics) [PSYoungGen: 17506K->0K(116736K)] [ParOldGen: 315396K->280305K(349696K)] 332903K->280305K(466432K), [Metaspace: 2672K->2672K(1056768K)], 0.0281881 secs] [Times: user=0.06 sys=0.00, real=0.03 secs] +2021-06-29T17:07:25.851+0800: 0.619: [GC (Allocation Failure) [PSYoungGen: 58880K->18586K(116736K)] 339185K->298892K(466432K), 0.0022525 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:07:25.861+0800: 0.629: [GC (Allocation Failure) [PSYoungGen: 77261K->21977K(116736K)] 357567K->320121K(466432K), 0.0041061 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:07:25.874+0800: 0.642: [GC (Allocation Failure) [PSYoungGen: 80422K->22443K(116736K)] 378565K->340151K(466432K), 0.0051080 secs] [Times: user=0.06 sys=0.00, real=0.00 secs] +2021-06-29T17:07:25.879+0800: 0.647: [Full GC (Ergonomics) [PSYoungGen: 22443K->0K(116736K)] [ParOldGen: 317708K->297507K(349696K)] 340151K->297507K(466432K), [Metaspace: 2672K->2672K(1056768K)], 0.0304477 secs] [Times: user=0.09 sys=0.00, real=0.03 secs] +2021-06-29T17:07:25.917+0800: 0.686: [GC (Allocation Failure) [PSYoungGen: 58826K->20696K(116736K)] 356334K->318204K(466432K), 0.0024966 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:07:25.929+0800: 0.697: [GC (Allocation Failure) [PSYoungGen: 79228K->16871K(116736K)] 376736K->333821K(466432K), 0.0039843 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:07:25.933+0800: 0.701: [Full GC (Ergonomics) [PSYoungGen: 16871K->0K(116736K)] [ParOldGen: 316949K->306543K(349696K)] 333821K->306543K(466432K), [Metaspace: 2672K->2672K(1056768K)], 0.0300946 secs] [Times: user=0.13 sys=0.00, real=0.03 secs] +2021-06-29T17:07:25.972+0800: 0.740: [GC (Allocation Failure) [PSYoungGen: 58243K->16190K(116736K)] 364786K->322733K(466432K), 0.0020647 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:07:25.983+0800: 0.751: [GC (Allocation Failure) [PSYoungGen: 75025K->19488K(116736K)] 381568K->341891K(466432K), 0.0041515 secs] [Times: user=0.03 sys=0.03, real=0.00 secs] +2021-06-29T17:07:25.987+0800: 0.755: [Full GC (Ergonomics) [PSYoungGen: 19488K->0K(116736K)] [ParOldGen: 322403K->312834K(349696K)] 341891K->312834K(466432K), [Metaspace: 2672K->2672K(1056768K)], 0.0308676 secs] [Times: user=0.13 sys=0.00, real=0.03 secs] +2021-06-29T17:07:26.027+0800: 0.795: [GC (Allocation Failure) [PSYoungGen: 58880K->20080K(116736K)] 371714K->332914K(466432K), 0.0023759 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:07:26.038+0800: 0.805: [GC (Allocation Failure) [PSYoungGen: 78960K->18254K(117760K)] 391794K->348413K(467456K), 0.0044229 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:07:26.042+0800: 0.810: [Full GC (Ergonomics) [PSYoungGen: 18254K->0K(117760K)] [ParOldGen: 330159K->318352K(349696K)] 348413K->318352K(467456K), [Metaspace: 2672K->2672K(1056768K)], 0.0307104 secs] [Times: user=0.13 sys=0.00, real=0.03 secs] +2021-06-29T17:07:26.082+0800: 0.850: [GC (Allocation Failure) [PSYoungGen: 59647K->19324K(116736K)] 378000K->337677K(466432K), 0.0022536 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:07:26.093+0800: 0.860: [GC (Allocation Failure) [PSYoungGen: 79136K->38228K(115200K)] 397489K->356580K(464896K), 0.0039618 secs] [Times: user=0.06 sys=0.00, real=0.00 secs] +2021-06-29T17:07:26.105+0800: 0.873: [GC (Allocation Failure) [PSYoungGen: 99156K->56828K(117760K)] 417508K->375893K(467456K), 0.0056323 secs] [Times: user=0.02 sys=0.02, real=0.01 secs] +2021-06-29T17:07:26.119+0800: 0.886: [GC (Allocation Failure) [PSYoungGen: 117756K->56549K(115712K)] 436821K->392116K(465408K), 0.0073885 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] +2021-06-29T17:07:26.126+0800: 0.894: [Full GC (Ergonomics) [PSYoungGen: 56549K->0K(115712K)] [ParOldGen: 335566K->330610K(349696K)] 392116K->330610K(465408K), [Metaspace: 2672K->2672K(1056768K)], 0.0332682 secs] [Times: user=0.19 sys=0.00, real=0.03 secs] +2021-06-29T17:07:26.167+0800: 0.935: [Full GC (Ergonomics) [PSYoungGen: 58868K->0K(115712K)] [ParOldGen: 330610K->330161K(349696K)] 389478K->330161K(465408K), [Metaspace: 2672K->2672K(1056768K)], 0.0306069 secs] [Times: user=0.13 sys=0.00, real=0.03 secs] +2021-06-29T17:07:26.206+0800: 0.974: [Full GC (Ergonomics) [PSYoungGen: 58856K->0K(115712K)] [ParOldGen: 330161K->331826K(349696K)] 389017K->331826K(465408K), [Metaspace: 2672K->2672K(1056768K)], 0.0342450 secs] [Times: user=0.09 sys=0.00, real=0.03 secs] +2021-06-29T17:07:26.249+0800: 1.017: [Full GC (Ergonomics) [PSYoungGen: 58880K->0K(115712K)] [ParOldGen: 331826K->332687K(349696K)] 390706K->332687K(465408K), [Metaspace: 2672K->2672K(1056768K)], 0.0332527 secs] [Times: user=0.14 sys=0.00, real=0.03 secs] +2021-06-29T17:07:26.291+0800: 1.059: [Full GC (Ergonomics) [PSYoungGen: 58865K->0K(115712K)] [ParOldGen: 332687K->335187K(349696K)] 391553K->335187K(465408K), [Metaspace: 2672K->2672K(1056768K)], 0.0335626 secs] [Times: user=0.13 sys=0.00, real=0.03 secs] +Heap + PSYoungGen total 115712K, used 23643K [0x00000000f5580000, 0x0000000100000000, 0x0000000100000000) + eden space 58880K, 40% used [0x00000000f5580000,0x00000000f6c96f98,0x00000000f8f00000) + from space 56832K, 0% used [0x00000000fc880000,0x00000000fc880000,0x0000000100000000) + to space 57856K, 0% used [0x00000000f8f00000,0x00000000f8f00000,0x00000000fc780000) + ParOldGen total 349696K, used 335187K [0x00000000e0000000, 0x00000000f5580000, 0x00000000f5580000) + object space 349696K, 95% used [0x00000000e0000000,0x00000000f4754f58,0x00000000f5580000) + Metaspace used 2678K, capacity 4486K, committed 4864K, reserved 1056768K + class space used 288K, capacity 386K, committed 512K, reserved 1048576K +``` + +CMS: +``` +java -Xmx512m -Xms512m -XX:+UseConcMarkSweepGC -verbose:gc -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:gc.log GCLogAnalysis + +PS F:\github\JavaCourseCodes\01jvm> java -Xmx512m -Xms512m -XX:+UseConcMarkSweepGC -verbose:gc -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:gc.log GCLogAnaly +sis +ę­£åœØę‰§č”Œ... +ę‰§č”Œē»“ęŸ!å…±ē”ŸęˆåÆ¹č±”ę¬”ę•°:10742 + +Java HotSpot(TM) 64-Bit Server VM (25.192-b04) for windows-amd64 JRE (1.8.0_192-ea-b04), built on Aug 1 2018 20:11:41 by "java_re" with MS VC++ 10.0 (VS2010) +Memory: 4k page, physical 16688036k(8299200k free), swap 19702692k(6505500k free) +CommandLine flags: -XX:InitialHeapSize=536870912 -XX:MaxHeapSize=536870912 -XX:MaxNewSize=178958336 -XX:MaxTenuringThreshold=6 -XX:NewSize=178958336 -XX:OldPLABSize=16 -XX:OldSize=357912576 -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseConcMarkSweepGC -XX:-UseLargePagesIndividualAllocation -XX:+UseParNewGC +2021-06-29T17:09:42.567+0800: 0.196: [GC (Allocation Failure) 2021-06-29T17:09:42.567+0800: 0.196: [ParNew: 139486K->17470K(157248K), 0.0088920 secs] 139486K->42098K(506816K), 0.0091923 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] +2021-06-29T17:09:42.600+0800: 0.228: [GC (Allocation Failure) 2021-06-29T17:09:42.600+0800: 0.228: [ParNew: 157190K->17472K(157248K), 0.0157508 secs] 181819K->90903K(506816K), 0.0158568 secs] [Times: user=0.01 sys=0.05, real=0.02 secs] +2021-06-29T17:09:42.635+0800: 0.263: [GC (Allocation Failure) 2021-06-29T17:09:42.635+0800: 0.263: [ParNew: 157248K->17472K(157248K), 0.0236500 secs] 230679K->133078K(506816K), 0.0237244 secs] [Times: user=0.11 sys=0.02, real=0.02 secs] +2021-06-29T17:09:42.679+0800: 0.307: [GC (Allocation Failure) 2021-06-29T17:09:42.679+0800: 0.307: [ParNew: 157248K->17472K(157248K), 0.0273073 secs] 272854K->181450K(506816K), 0.0273790 secs] [Times: user=0.11 sys=0.02, real=0.03 secs] +2021-06-29T17:09:42.725+0800: 0.354: [GC (Allocation Failure) 2021-06-29T17:09:42.725+0800: 0.354: [ParNew: 157056K->17472K(157248K), 0.0240673 secs] 321035K->225406K(506816K), 0.0241438 secs] [Times: user=0.06 sys=0.00, real=0.02 secs] +2021-06-29T17:09:42.749+0800: 0.379: [GC (CMS Initial Mark) [1 CMS-initial-mark: 207934K(349568K)] 225696K(506816K), 0.0001739 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:42.750+0800: 0.379: [CMS-concurrent-mark-start] +2021-06-29T17:09:42.754+0800: 0.383: [CMS-concurrent-mark: 0.004/0.004 secs] [Times: user=0.02 sys=0.02, real=0.00 secs] +2021-06-29T17:09:42.754+0800: 0.383: [CMS-concurrent-preclean-start] +2021-06-29T17:09:42.754+0800: 0.384: [CMS-concurrent-preclean: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:42.754+0800: 0.384: [CMS-concurrent-abortable-preclean-start] +2021-06-29T17:09:42.769+0800: 0.398: [GC (Allocation Failure) 2021-06-29T17:09:42.769+0800: 0.398: [ParNew: 157053K->17472K(157248K), 0.0265778 secs] 364988K->273421K(506816K), 0.0266384 secs] [Times: user=0.05 sys=0.02, real=0.03 secs] +2021-06-29T17:09:42.815+0800: 0.444: [GC (Allocation Failure) 2021-06-29T17:09:42.815+0800: 0.444: [ParNew: 157185K->17472K(157248K), 0.0236617 secs] 413135K->317889K(506816K), 0.0237417 secs] [Times: user=0.05 sys=0.01, real=0.02 secs] +2021-06-29T17:09:42.857+0800: 0.486: [GC (Allocation Failure) 2021-06-29T17:09:42.857+0800: 0.486: [ParNew: 157094K->157094K(157248K), 0.0000198 secs]2021-06-29T17:09:42.857+0800: 0.486: [CMS2021-06-29T17:09:42.857+0800: 0.486: [CMS-concurrent-abortable-preclean: 0.003/0.102 secs] [Times: user=0.16 sys=0.03, real=0.10 secs] + (concurrent mode failure): 300417K->256107K(349568K), 0.0343744 secs] 457512K->256107K(506816K), [Metaspace: 2672K->2672K(1056768K)], 0.0344691 secs] [Times: user=0.05 sys=0.00, real=0.03 secs] +2021-06-29T17:09:42.914+0800: 0.543: [GC (Allocation Failure) 2021-06-29T17:09:42.914+0800: 0.543: [ParNew: 139776K->17472K(157248K), 0.0053365 secs] 395883K->294453K(506816K), 0.0054124 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:42.919+0800: 0.548: [GC (CMS Initial Mark) [1 CMS-initial-mark: 276981K(349568K)] 295243K(506816K), 0.0001519 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:42.920+0800: 0.548: [CMS-concurrent-mark-start] +2021-06-29T17:09:42.922+0800: 0.550: [CMS-concurrent-mark: 0.002/0.002 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:42.922+0800: 0.550: [CMS-concurrent-preclean-start] +2021-06-29T17:09:42.922+0800: 0.551: [CMS-concurrent-preclean: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:42.922+0800: 0.551: [CMS-concurrent-abortable-preclean-start] +2021-06-29T17:09:42.939+0800: 0.568: [GC (Allocation Failure) 2021-06-29T17:09:42.939+0800: 0.568: [ParNew: 157248K->17469K(157248K), 0.0150891 secs] 434229K->337831K(506816K), 0.0151698 secs] [Times: user=0.03 sys=0.02, real=0.02 secs] +2021-06-29T17:09:42.974+0800: 0.603: [GC (Allocation Failure) 2021-06-29T17:09:42.974+0800: 0.603: [ParNew: 157245K->157245K(157248K), 0.0000196 secs]2021-06-29T17:09:42.974+0800: 0.603: [CMS2021-06-29T17:09:42.974+0800: 0.603: [CMS-concurrent-abortable-preclean: 0.002/0.052 secs] [Times: user=0.09 sys=0.02, real=0.05 secs] + (concurrent mode failure): 320362K->284678K(349568K), 0.0394368 secs] 477607K->284678K(506816K), [Metaspace: 2672K->2672K(1056768K)], 0.0395303 secs] [Times: user=0.03 sys=0.00, real=0.04 secs] +2021-06-29T17:09:43.034+0800: 0.663: [GC (Allocation Failure) 2021-06-29T17:09:43.034+0800: 0.663: [ParNew: 139776K->17472K(157248K), 0.0069205 secs] 424454K->335441K(506816K), 0.0069784 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] +2021-06-29T17:09:43.042+0800: 0.670: [GC (CMS Initial Mark) [1 CMS-initial-mark: 317969K(349568K)] 338331K(506816K), 0.0001690 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.042+0800: 0.670: [CMS-concurrent-mark-start] +2021-06-29T17:09:43.044+0800: 0.672: [CMS-concurrent-mark: 0.002/0.002 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.044+0800: 0.672: [CMS-concurrent-preclean-start] +2021-06-29T17:09:43.044+0800: 0.673: [CMS-concurrent-preclean: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.044+0800: 0.673: [CMS-concurrent-abortable-preclean-start] +2021-06-29T17:09:43.044+0800: 0.673: [CMS-concurrent-abortable-preclean: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.044+0800: 0.673: [GC (CMS Final Remark) [YG occupancy: 39921 K (157248 K)]2021-06-29T17:09:43.045+0800: 0.673: [Rescan (parallel) , 0.0003200 secs]2021-06-29T17:09:43.045+0800: 0.673: [weak refs processing, 0.0000141 secs]2021-06-29T17:09:43.045+0800: 0.673: [class unloading, 0.0001908 secs]2021-06-29T17:09:43.045+0800: 0.673: [scrub symbol table, 0.0003041 secs]2021-06-29T17:09:43.045+0800: 0.674: [scrub string table, 0.0001066 secs][1 CMS-remark: 317969K(349568K)] 357891K(506816K), 0.0010231 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.046+0800: 0.674: [CMS-concurrent-sweep-start] +2021-06-29T17:09:43.046+0800: 0.674: [CMS-concurrent-sweep: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.046+0800: 0.675: [CMS-concurrent-reset-start] +2021-06-29T17:09:43.046+0800: 0.675: [CMS-concurrent-reset: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.061+0800: 0.690: [GC (Allocation Failure) 2021-06-29T17:09:43.061+0800: 0.690: [ParNew: 157248K->17466K(157248K), 0.0081887 secs] 436042K->337116K(506816K), 0.0082612 secs] [Times: user=0.06 sys=0.00, real=0.01 secs] +2021-06-29T17:09:43.070+0800: 0.698: [GC (CMS Initial Mark) [1 CMS-initial-mark: 319650K(349568K)] 337696K(506816K), 0.0001755 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.070+0800: 0.699: [CMS-concurrent-mark-start] +2021-06-29T17:09:43.072+0800: 0.701: [CMS-concurrent-mark: 0.002/0.002 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.072+0800: 0.701: [CMS-concurrent-preclean-start] +2021-06-29T17:09:43.073+0800: 0.701: [CMS-concurrent-preclean: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.073+0800: 0.701: [CMS-concurrent-abortable-preclean-start] +2021-06-29T17:09:43.073+0800: 0.701: [CMS-concurrent-abortable-preclean: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.073+0800: 0.702: [GC (CMS Final Remark) [YG occupancy: 34301 K (157248 K)]2021-06-29T17:09:43.073+0800: 0.702: [Rescan (parallel) , 0.0003537 secs]2021-06-29T17:09:43.074+0800: 0.702: [weak refs processing, 0.0000282 secs]2021-06-29T17:09:43.074+0800: 0.702: [class unloading, 0.0001705 secs]2021-06-29T17:09:43.074+0800: 0.702: [scrub symbol table, 0.0002974 secs]2021-06-29T17:09:43.074+0800: 0.702: [scrub string table, 0.0001052 secs][1 CMS-remark: 319650K(349568K)] 353951K(506816K), 0.0010431 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.074+0800: 0.703: [CMS-concurrent-sweep-start] +2021-06-29T17:09:43.075+0800: 0.703: [CMS-concurrent-sweep: 0.001/0.001 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.075+0800: 0.703: [CMS-concurrent-reset-start] +2021-06-29T17:09:43.075+0800: 0.704: [CMS-concurrent-reset: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.090+0800: 0.720: [GC (Allocation Failure) 2021-06-29T17:09:43.090+0800: 0.720: [ParNew: 157242K->17467K(157248K), 0.0143197 secs] 444517K->352209K(506816K), 0.0143930 secs] [Times: user=0.06 sys=0.00, real=0.02 secs] +2021-06-29T17:09:43.105+0800: 0.734: [GC (CMS Initial Mark) [1 CMS-initial-mark: 334741K(349568K)] 355090K(506816K), 0.0002606 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.105+0800: 0.735: [CMS-concurrent-mark-start] +2021-06-29T17:09:43.107+0800: 0.737: [CMS-concurrent-mark: 0.002/0.002 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.107+0800: 0.737: [CMS-concurrent-preclean-start] +2021-06-29T17:09:43.108+0800: 0.737: [CMS-concurrent-preclean: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.108+0800: 0.737: [CMS-concurrent-abortable-preclean-start] +2021-06-29T17:09:43.108+0800: 0.737: [CMS-concurrent-abortable-preclean: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.108+0800: 0.737: [GC (CMS Final Remark) [YG occupancy: 38648 K (157248 K)]2021-06-29T17:09:43.108+0800: 0.737: [Rescan (parallel) , 0.0004002 secs]2021-06-29T17:09:43.108+0800: 0.738: [weak refs processing, 0.0000124 secs]2021-06-29T17:09:43.108+0800: 0.738: [class unloading, 0.0002816 secs]2021-06-29T17:09:43.109+0800: 0.738: [scrub symbol table, 0.0003005 secs]2021-06-29T17:09:43.109+0800: 0.738: [scrub string table, 0.0000980 secs][1 CMS-remark: 334741K(349568K)] 373390K(506816K), 0.0011549 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.109+0800: 0.739: [CMS-concurrent-sweep-start] +2021-06-29T17:09:43.110+0800: 0.739: [CMS-concurrent-sweep: 0.001/0.001 secs] [Times: user=0.03 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.110+0800: 0.739: [CMS-concurrent-reset-start] +2021-06-29T17:09:43.110+0800: 0.739: [CMS-concurrent-reset: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.128+0800: 0.757: [GC (Allocation Failure) 2021-06-29T17:09:43.128+0800: 0.757: [ParNew: 157093K->157093K(157248K), 0.0000182 secs]2021-06-29T17:09:43.128+0800: 0.757: [CMS: 299724K->316611K(349568K), 0.0422990 secs] 456818K->316611K(506816K), [Metaspace: 2672K->2672K(1056768K)], 0.0423869 secs] [Times: user=0.03 sys=0.00, real=0.04 secs] +2021-06-29T17:09:43.171+0800: 0.800: [GC (CMS Initial Mark) [1 CMS-initial-mark: 316611K(349568K)] 316991K(506816K), 0.0002090 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.171+0800: 0.800: [CMS-concurrent-mark-start] +2021-06-29T17:09:43.173+0800: 0.802: [CMS-concurrent-mark: 0.002/0.002 secs] [Times: user=0.03 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.173+0800: 0.802: [CMS-concurrent-preclean-start] +2021-06-29T17:09:43.174+0800: 0.803: [CMS-concurrent-preclean: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.174+0800: 0.803: [CMS-concurrent-abortable-preclean-start] +2021-06-29T17:09:43.189+0800: 0.818: [GC (Allocation Failure) 2021-06-29T17:09:43.189+0800: 0.818: [ParNew: 139258K->139258K(157248K), 0.0000211 secs]2021-06-29T17:09:43.189+0800: 0.818: [CMS2021-06-29T17:09:43.189+0800: 0.818: [CMS-concurrent-abortable-preclean: 0.001/0.015 secs] [Times: user=0.01 sys=0.00, real=0.01 secs] + (concurrent mode failure): 316611K->322092K(349568K), 0.0475524 secs] 455870K->322092K(506816K), [Metaspace: 2672K->2672K(1056768K)], 0.0476535 secs] [Times: user=0.05 sys=0.00, real=0.05 secs] +2021-06-29T17:09:43.256+0800: 0.885: [GC (Allocation Failure) 2021-06-29T17:09:43.256+0800: 0.885: [ParNew: 139776K->139776K(157248K), 0.0000187 secs]2021-06-29T17:09:43.256+0800: 0.885: [CMS: 322092K->330357K(349568K), 0.0434370 secs] 461868K->330357K(506816K), [Metaspace: 2672K->2672K(1056768K)], 0.0435288 secs] [Times: user=0.05 sys=0.00, real=0.04 secs] +2021-06-29T17:09:43.299+0800: 0.928: [GC (CMS Initial Mark) [1 CMS-initial-mark: 330357K(349568K)] 333278K(506816K), 0.0002049 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.300+0800: 0.929: [CMS-concurrent-mark-start] +2021-06-29T17:09:43.302+0800: 0.931: [CMS-concurrent-mark: 0.002/0.002 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.302+0800: 0.931: [CMS-concurrent-preclean-start] +2021-06-29T17:09:43.302+0800: 0.931: [CMS-concurrent-preclean: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.302+0800: 0.931: [CMS-concurrent-abortable-preclean-start] +2021-06-29T17:09:43.302+0800: 0.931: [CMS-concurrent-abortable-preclean: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.303+0800: 0.931: [GC (CMS Final Remark) [YG occupancy: 29488 K (157248 K)]2021-06-29T17:09:43.303+0800: 0.931: [Rescan (parallel) , 0.0003602 secs]2021-06-29T17:09:43.303+0800: 0.932: [weak refs processing, 0.0000145 secs]2021-06-29T17:09:43.303+0800: 0.932: [class unloading, 0.0001863 secs]2021-06-29T17:09:43.303+0800: 0.932: [scrub symbol table, 0.0002982 secs]2021-06-29T17:09:43.303+0800: 0.932: [scrub string table, 0.0001421 secs][1 CMS-remark: 330357K(349568K)] 359845K(506816K), 0.0010708 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.304+0800: 0.932: [CMS-concurrent-sweep-start] +2021-06-29T17:09:43.304+0800: 0.933: [CMS-concurrent-sweep: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.304+0800: 0.933: [CMS-concurrent-reset-start] +2021-06-29T17:09:43.304+0800: 0.933: [CMS-concurrent-reset: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.320+0800: 0.949: [GC (Allocation Failure) 2021-06-29T17:09:43.320+0800: 0.949: [ParNew: 139776K->139776K(157248K), 0.0000194 secs]2021-06-29T17:09:43.320+0800: 0.949: [CMS: 329663K->335316K(349568K), 0.0448151 secs] 469439K->335316K(506816K), [Metaspace: 2672K->2672K(1056768K)], 0.0449055 secs] [Times: user=0.05 sys=0.00, real=0.05 secs] +2021-06-29T17:09:43.366+0800: 0.994: [GC (CMS Initial Mark) [1 CMS-initial-mark: 335316K(349568K)] 335556K(506816K), 0.0001711 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.366+0800: 0.994: [CMS-concurrent-mark-start] +2021-06-29T17:09:43.368+0800: 0.996: [CMS-concurrent-mark: 0.002/0.002 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.368+0800: 0.997: [CMS-concurrent-preclean-start] +2021-06-29T17:09:43.368+0800: 0.997: [CMS-concurrent-preclean: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.368+0800: 0.997: [CMS-concurrent-abortable-preclean-start] +2021-06-29T17:09:43.368+0800: 0.997: [CMS-concurrent-abortable-preclean: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.369+0800: 0.997: [GC (CMS Final Remark) [YG occupancy: 23006 K (157248 K)]2021-06-29T17:09:43.369+0800: 0.997: [Rescan (parallel) , 0.0003288 secs]2021-06-29T17:09:43.369+0800: 0.998: [weak refs processing, 0.0000130 secs]2021-06-29T17:09:43.369+0800: 0.998: [class unloading, 0.0001899 secs]2021-06-29T17:09:43.369+0800: 0.998: [scrub symbol table, 0.0002963 secs]2021-06-29T17:09:43.369+0800: 0.998: [scrub string table, 0.0001450 secs][1 CMS-remark: 335316K(349568K)] 358322K(506816K), 0.0010545 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.370+0800: 0.998: [CMS-concurrent-sweep-start] +2021-06-29T17:09:43.370+0800: 0.999: [CMS-concurrent-sweep: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.370+0800: 0.999: [CMS-concurrent-reset-start] +2021-06-29T17:09:43.371+0800: 0.999: [CMS-concurrent-reset: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.385+0800: 1.014: [GC (Allocation Failure) 2021-06-29T17:09:43.385+0800: 1.014: [ParNew: 139554K->139554K(157248K), 0.0000178 secs]2021-06-29T17:09:43.385+0800: 1.014: [CMS: 335316K->337146K(349568K), 0.0448380 secs] 474871K->337146K(506816K), [Metaspace: 2672K->2672K(1056768K)], 0.0449233 secs] [Times: user=0.05 sys=0.00, real=0.05 secs] +2021-06-29T17:09:43.430+0800: 1.059: [GC (CMS Initial Mark) [1 CMS-initial-mark: 337146K(349568K)] 337517K(506816K), 0.0002274 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.431+0800: 1.059: [CMS-concurrent-mark-start] +2021-06-29T17:09:43.433+0800: 1.061: [CMS-concurrent-mark: 0.002/0.002 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.433+0800: 1.061: [CMS-concurrent-preclean-start] +2021-06-29T17:09:43.433+0800: 1.062: [CMS-concurrent-preclean: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.433+0800: 1.062: [CMS-concurrent-abortable-preclean-start] +2021-06-29T17:09:43.433+0800: 1.062: [CMS-concurrent-abortable-preclean: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.433+0800: 1.062: [GC (CMS Final Remark) [YG occupancy: 21677 K (157248 K)]2021-06-29T17:09:43.433+0800: 1.062: [Rescan (parallel) , 0.0003061 secs]2021-06-29T17:09:43.434+0800: 1.062: [weak refs processing, 0.0000451 secs]2021-06-29T17:09:43.434+0800: 1.062: [class unloading, 0.0001694 secs]2021-06-29T17:09:43.434+0800: 1.062: [scrub symbol table, 0.0002950 secs]2021-06-29T17:09:43.434+0800: 1.063: [scrub string table, 0.0001052 secs][1 CMS-remark: 337146K(349568K)] 358824K(506816K), 0.0009871 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.434+0800: 1.063: [CMS-concurrent-sweep-start] +2021-06-29T17:09:43.435+0800: 1.063: [CMS-concurrent-sweep: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.435+0800: 1.063: [CMS-concurrent-reset-start] +2021-06-29T17:09:43.435+0800: 1.064: [CMS-concurrent-reset: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.451+0800: 1.079: [GC (Allocation Failure) 2021-06-29T17:09:43.451+0800: 1.079: [ParNew: 139592K->139592K(157248K), 0.0000187 secs]2021-06-29T17:09:43.451+0800: 1.079: [CMS: 337072K->342325K(349568K), 0.0498049 secs] 476664K->342325K(506816K), [Metaspace: 2672K->2672K(1056768K)], 0.0498930 secs] [Times: user=0.05 sys=0.00, real=0.05 secs] +2021-06-29T17:09:43.500+0800: 1.129: [GC (CMS Initial Mark) [1 CMS-initial-mark: 342325K(349568K)] 342937K(506816K), 0.0002608 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] +2021-06-29T17:09:43.500+0800: 1.130: [CMS-concurrent-mark-start] +Heap + par new generation total 157248K, used 6176K [0x00000000e0000000, 0x00000000eaaa0000, 0x00000000eaaa0000) + eden space 139776K, 4% used [0x00000000e0000000, 0x00000000e06083e0, 0x00000000e8880000) + from space 17472K, 0% used [0x00000000e8880000, 0x00000000e8880000, 0x00000000e9990000) + to space 17472K, 0% used [0x00000000e9990000, 0x00000000e9990000, 0x00000000eaaa0000) + concurrent mark-sweep generation total 349568K, used 342325K [0x00000000eaaa0000, 0x0000000100000000, 0x0000000100000000) + Metaspace used 2678K, capacity 4486K, committed 4864K, reserved 1056768K + class space used 288K, capacity 386K, committed 512K, reserved 1048576K + ``` + +G1: + +``` +java -Xmx512m -Xms512m -XX:+UseG1GC -verbose:gc -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:gc.log GCLogAnalysis + +PS F:\github\JavaCourseCodes\01jvm> java -Xmx512m -Xms512m -XX:+UseG1GC -verbose:gc -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:gc.log GCLogAnalysis +ę­£åœØę‰§č”Œ... +ę‰§č”Œē»“ęŸ!å…±ē”ŸęˆåÆ¹č±”ę¬”ę•°:10563 + +旄志见01jvm/g1-gc.log ``` 2.ļ¼ˆé€‰åšļ¼‰ä½æē”ØåŽ‹ęµ‹å·„å…·ļ¼ˆwrk ꈖ sbļ¼‰ļ¼Œę¼”ē»ƒ gateway-server-0.0.1-SNAPSHOT.jar 示例。 @@ -169,6 +422,10 @@ Avg: 1.4ms 98% below 12ms 99% below 14ms 99.9% below 24ms +``` +二:nettyē›øå…³ę¼”ē¤ŗļ¼š +``` + ``` 6.ļ¼ˆåæ…åšļ¼‰å†™äø€ę®µä»£ē ļ¼Œä½æē”Ø HttpClient ꈖ OkHttp 访问 http://localhost:8801 ļ¼Œä»£ē ęäŗ¤åˆ° GitHub From b10c54b828a8bbc9fa83a667b35d72971dcb4007 Mon Sep 17 00:00:00 2001 From: zengqi <719883137@qq.com> Date: Wed, 30 Jun 2021 10:11:34 +0800 Subject: [PATCH 05/42] =?UTF-8?q?=E9=80=89=E5=81=9A=E9=A2=982,5=20?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=AD=94=E6=A1=88=EF=BC=8C=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=E4=B9=8B=E5=89=8D=E7=9A=84=E9=94=99=E8=AF=AF=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=EF=BC=8C=E5=B9=B6=E5=8F=91=E5=8F=82=E6=95=B0=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E9=85=8D=E7=BD=AE20=E5=B7=A6=E5=8F=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 01jvm/README.md | 2 + 02nio/homework/Week02.md | 195 +++++++++++++++++---------------------- 2 files changed, 88 insertions(+), 109 deletions(-) diff --git a/01jvm/README.md b/01jvm/README.md index f9021845..e935d426 100644 --- a/01jvm/README.md +++ b/01jvm/README.md @@ -105,6 +105,8 @@ JAVA_OPTS=-Xmx4g -Xms4g -XX:+UseG1GC -XX:MaxGCPauseMillis=50 ``` # 编译 javac -g GCLogAnalysis.java +javac -encoding UTF-8 GCLogAnalysis.java + # JDK8 åÆåŠØēØ‹åŗ java -Xmx2g -Xms2g -XX:+UseG1GC -verbose:gc -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:gc.log GCLogAnalysis ``` diff --git a/02nio/homework/Week02.md b/02nio/homework/Week02.md index 40717945..f5c1d03a 100644 --- a/02nio/homework/Week02.md +++ b/02nio/homework/Week02.md @@ -256,20 +256,20 @@ PS F:\github\JavaCourseCodes\01jvm> java -Xmx512m -Xms512m -XX:+UseG1GC -verbose ``` 2.ļ¼ˆé€‰åšļ¼‰ä½æē”ØåŽ‹ęµ‹å·„å…·ļ¼ˆwrk ꈖ sbļ¼‰ļ¼Œę¼”ē»ƒ gateway-server-0.0.1-SNAPSHOT.jar 示例。 -åˆ†åˆ«ä½æē”Ø4和15å¹¶å‘åšęµ‹čÆ•ļ¼Œ4å¹¶å‘ę€§čƒ½ę›“å„½ļ¼Œč¶…čæ‡15ä¼šę— ę³•ę‰§č”Œ java -jar -Xmx512m -Xms512m gateway-server-0.0.1-SNAPSHOT.jar -sb -u http://localhost:8088/api/hello -c 4 -N 30 +sb -u http://localhost:8088/api/hello -c 20 -N 30 ``` -Starting at 2021/6/29 15:53:16 +PS F:\github\JavaCourseCodes> sb -u http://localhost:8088/api/hello -c 20 -N 30 +Starting at 2021/6/30 8:56:43 [Press C to stop the test] -79228 (RPS: 2190.5) +113501 (RPS: 3253.3) ---------------Finished!---------------- -Finished at 2021/6/29 15:53:53 (took 00:00:36.2180309) -Status 200: 79228 +Finished at 2021/6/30 8:57:18 (took 00:00:35.0619953) +Status 200: 113508 -RPS: 2553 (requests/second) -Max: 2448ms +RPS: 3642.5 (requests/second) +Max: 92ms Min: 0ms Avg: 0.2ms @@ -279,34 +279,12 @@ Avg: 0.2ms 80% below 0ms 90% below 0ms 95% below 1ms - 98% below 1ms - 99% below 2ms -99.9% below 7ms -``` -sb -u http://localhost:8088/api/hello -c 15 -N 30 -``` -Starting at 2021/6/29 15:54:36 -[Press C to stop the test] -61320 (RPS: 1693.2) ----------------Finished!---------------- -Finished at 2021/6/29 15:55:13 (took 00:00:36.4190725) -Status 200: 61343 - -RPS: 1967.3 (requests/second) -Max: 126ms -Min: 0ms -Avg: 0.9ms + 98% below 3ms + 99% below 4ms +99.9% below 10ms - 50% below 0ms - 60% below 0ms - 70% below 0ms - 80% below 1ms - 90% below 1ms - 95% below 4ms - 98% below 11ms - 99% below 17ms -99.9% below 36ms ``` + 3.ļ¼ˆé€‰åšļ¼‰å¦‚ęžœč‡Ŗå·±ęœ¬åœ°ęœ‰åÆä»„čæč”Œēš„é”¹ē›®ļ¼ŒåÆä»„ęŒ‰ē…§ 2 ēš„ę–¹å¼čæ›č”Œę¼”ē»ƒć€‚ ``` ``` @@ -316,118 +294,117 @@ Avg: 0.9ms 5.ļ¼ˆé€‰åšļ¼‰čæč”ŒčÆ¾äøŠēš„ä¾‹å­ļ¼Œä»„åŠ Netty ēš„ä¾‹å­ļ¼Œåˆ†ęžē›øå…³ēŽ°č±”ć€‚ äø€ļ¼šåŽ‹ęµ‹HttpServer01,02,03äø‰äøŖēØ‹åŗļ¼š -1. ęµ‹čÆ•äŗ†å¤šę¬”ļ¼Œ-cå‚ę•°äøčƒ½čæ‡å¤§ļ¼Œęœ€å¤§åˆ°16å°±ę— ę³•čæč”Œļ¼ˆēŒœęµ‹å’ŒCPUę øę•°ęœ‰å…³ļ¼Œęœ¬ęœŗę˜Æ4ę ø4Cļ¼‰ļ¼Œ -å¤šę¬”åŽ‹ęµ‹å‘ēŽ°é…ē½®å¹¶å‘ę•°äøŗ4,RPSęœ€å¤§ +1. **ä½æē”Øēš„å‚ę•°ę˜Æ20å¹¶å‘ļ¼Œ40ę— ę³•åÆåŠØ** 2. ä½æē”ØēŗæēØ‹ę± ęÆ”åˆ›å»ŗēŗæēØ‹ēš„RPSé«˜ļ¼ˆēŗæēØ‹å¤ē”Øå‡å°‘äŗ†ēŗæēØ‹åˆ›å»ŗå’Œé”€ęÆēš„ę¶ˆč€—ļ¼‰ -3. ä½†ę˜Æļ¼Œå•ēŗæēØ‹äø²č”Œę¶ˆč“¹RPSęœ€é«˜ļ¼Œčæ™äøŖå’ŒčÆ¾ä»¶ęœ‰č¾ƒå¤§å‡ŗå…„ļ¼ŸęœŖå¼„ęø…ę„šåŽŸå› ļ¼Œčæ˜ęœ›č€åøˆč§£ē­” +3. ä½†ę˜Æļ¼Œ**å•ēŗæēØ‹äø²č”Œę¶ˆč“¹RPS>线程池>å¤šēŗæēØ‹ļ¼Œčæ™äøŖå’ŒčÆ¾ä»¶ęœ‰č¾ƒå¤§å‡ŗå…„ļ¼ŸęœŖå¼„ęø…ę„šåŽŸå› ļ¼Œčæ˜ęœ›č€åøˆč§£ē­”** ęµ‹čÆ•å‘½ä»¤å’Œę—„åæ—ļ¼š - sb -u http://localhost:8801 -c 4 -N 30 + sb -u http://localhost:8801 -c 20 -N 30 ``` -Starting at 2021/6/29 15:08:30 +PS F:\github\JavaCourseCodes> sb -u http://localhost:8801 -c 20 -N 30 +Starting at 2021/6/30 9:06:39 [Press C to stop the test] -77127 (RPS: 3084.2) +81689 (RPS: 2330.8) ---------------Finished!---------------- -Finished at 2021/6/29 15:08:55 (took 00:00:25.1405961) -Status 200: 77050 -Status 303: 77 +Finished at 2021/6/30 9:07:14 (took 00:00:35.2723173) +Status 303: 6615 +Status 200: 75074 -RPS: 3650.6 (requests/second) -Max: 46ms +RPS: 2616.9 (requests/second) +Max: 82ms Min: 0ms -Avg: 0.1ms +Avg: 0.8ms 50% below 0ms 60% below 0ms 70% below 0ms - 80% below 0ms - 90% below 0ms - 95% below 1ms - 98% below 1ms - 99% below 2ms -99.9% below 10ms + 80% below 1ms + 90% below 3ms + 95% below 5ms + 98% below 8ms + 99% below 10ms +99.9% below 21ms ``` - -sb -u http://localhost:8801 -c 15 -N 30 +sb -u http://localhost:8802 -c 20 -N 30 ``` -Starting at 2021/6/29 15:13:54 +PS F:\github\JavaCourseCodes> sb -u http://localhost:8802 -c 20 -N 30 +Starting at 2021/6/30 9:04:19 [Press C to stop the test] -62490 (RPS: 1780.9) +63152 (RPS: 1804.9) ---------------Finished!---------------- -Finished at 2021/6/29 15:14:30 (took 00:00:35.2512733) -Status 303: 11208 -Status 200: 51336 +Finished at 2021/6/30 9:04:55 (took 00:00:35.1957415) +Status 200: 63046 +Status 303: 106 -RPS: 2008.1 (requests/second) -Max: 120ms +RPS: 2024.3 (requests/second) +Max: 180ms Min: 0ms -Avg: 1.9ms +Avg: 2.9ms - 50% below 0ms - 60% below 1ms - 70% below 1ms - 80% below 2ms - 90% below 6ms - 95% below 10ms - 98% below 15ms - 99% below 20ms -99.9% below 39ms + 50% below 1ms + 60% below 2ms + 70% below 4ms + 80% below 5ms + 90% below 7ms + 95% below 9ms + 98% below 12ms + 99% below 16ms +99.9% below 65ms ``` -sb -u http://localhost:8802 -c 4 -N 30 +sb -u http://localhost:8803 -c 20 -N 30 ``` -Starting at 2021/6/29 15:37:50 +PS F:\github\JavaCourseCodes> sb -u http://localhost:8803 -c 20 -N 30 +Starting at 2021/6/30 9:05:41 [Press C to stop the test] -51154 (RPS: 1422.7) +78433 (RPS: 2248.9) ---------------Finished!---------------- -Finished at 2021/6/29 15:38:26 (took 00:00:36.1621225) -Status 200: 50999 -Status 303: 156 +Finished at 2021/6/30 9:06:16 (took 00:00:34.9301078) +Status 200: 71332 +Status 303: 7112 -RPS: 1640.3 (requests/second) -Max: 110ms +RPS: 2527.5 (requests/second) +Max: 107ms Min: 0ms -Avg: 1.5ms +Avg: 1.1ms - 50% below 1ms - 60% below 1ms - 70% below 1ms - 80% below 1ms - 90% below 2ms - 95% below 7ms - 98% below 10ms + 50% below 0ms + 60% below 0ms + 70% below 0ms + 80% below 2ms + 90% below 4ms + 95% below 6ms + 98% below 9ms 99% below 11ms -99.9% below 16ms +99.9% below 25ms ``` -sb -u http://localhost:8803 -c 8 -N 30 +二:nettyē›øå…³ę¼”ē¤ŗļ¼š + +**nettyåŽ‹ęµ‹ c15 ,c20ę— ę³•åÆåŠØ** ``` -Starting at 2021/6/29 15:36:58 +PS F:\github\JavaCourseCodes> sb -u http://localhost:8808 -c 15 -N 30 +Starting at 2021/6/30 9:15:46 [Press C to stop the test] -53684 (RPS: 1492.2) +134089 (RPS: 3838.9) ---------------Finished!---------------- -Finished at 2021/6/29 15:37:34 (took 00:00:36.1072457) -Status 200: 52850 -Status 303: 854 +Finished at 2021/6/30 9:16:22 (took 00:00:35.1581711) +Status 200: 134093 -RPS: 1726.6 (requests/second) -Max: 116ms +RPS: 4295.2 (requests/second) +Max: 54ms Min: 0ms -Avg: 1.4ms +Avg: 0.1ms 50% below 0ms - 60% below 1ms - 70% below 1ms - 80% below 1ms - 90% below 3ms - 95% below 8ms - 98% below 12ms - 99% below 14ms -99.9% below 24ms -``` -二:nettyē›øå…³ę¼”ē¤ŗļ¼š -``` + 60% below 0ms + 70% below 0ms + 80% below 0ms + 90% below 0ms + 95% below 0ms + 98% below 1ms + 99% below 2ms +99.9% below 5ms ``` - 6.ļ¼ˆåæ…åšļ¼‰å†™äø€ę®µä»£ē ļ¼Œä½æē”Ø HttpClient ꈖ OkHttp 访问 http://localhost:8801 ļ¼Œä»£ē ęäŗ¤åˆ° GitHub ``` ``` \ No newline at end of file From 15e96b6f3b5273c1943584ddc475a40cba208de9 Mon Sep 17 00:00:00 2001 From: zengqi <719883137@qq.com> Date: Wed, 30 Jun 2021 11:15:38 +0800 Subject: [PATCH 06/42] =?UTF-8?q?=E5=BF=85=E5=81=9A=E9=A2=986=20=E4=BD=BF?= =?UTF-8?q?=E7=94=A8HttpClient=E4=BD=9C=E4=B8=BA=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E7=AB=AF=E8=AE=BF=E9=97=AENettyHttpSever=20=E9=80=89=E5=81=9A?= =?UTF-8?q?=E9=A2=985=20=E6=8F=90=E5=87=BA=E4=B8=80=E4=B8=AA=E9=97=AE?= =?UTF-8?q?=E9=A2=98=EF=BC=8C=E4=B8=BA=E4=BB=80=E4=B9=88=E5=8E=8B=E6=B5=8B?= =?UTF-8?q?=E7=9A=84=E6=97=B6=E5=80=99=20=E5=8F=82=E6=95=B0c=20=E4=B8=8D?= =?UTF-8?q?=E8=83=BD=E8=BF=87=E5=A4=A7=EF=BC=8C=E6=9C=AC=E6=9C=BA=E8=B6=85?= =?UTF-8?q?=E8=BF=8720=E5=B0=B1=E6=97=A0=E6=B3=95=E5=90=AF=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 02nio/homework/Week02.md | 2 +- 02nio/nio01/pom.xml | 5 ++ .../java0/nio01/netty/HttpClientDemo.java | 49 +++++++++++++++++++ 02nio/nio02/pom.xml | 10 +++- 4 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 02nio/nio01/src/main/java/java0/nio01/netty/HttpClientDemo.java diff --git a/02nio/homework/Week02.md b/02nio/homework/Week02.md index f5c1d03a..0ed0778f 100644 --- a/02nio/homework/Week02.md +++ b/02nio/homework/Week02.md @@ -379,7 +379,7 @@ Avg: 1.1ms ``` 二:nettyē›øå…³ę¼”ē¤ŗļ¼š -**nettyåŽ‹ęµ‹ c15 ,c20ę— ę³•åÆåŠØ** +**nettyåŽ‹ęµ‹ c15 ,c20ę— ę³•åÆåŠØ åŽŸå› ę˜Æļ¼Ÿ** ``` PS F:\github\JavaCourseCodes> sb -u http://localhost:8808 -c 15 -N 30 Starting at 2021/6/30 9:15:46 diff --git a/02nio/nio01/pom.xml b/02nio/nio01/pom.xml index e42a62f2..3765b7ba 100644 --- a/02nio/nio01/pom.xml +++ b/02nio/nio01/pom.xml @@ -59,6 +59,11 @@ netty-all 4.1.51.Final + + org.apache.httpcomponents + httpclient + 4.1.1 + diff --git a/02nio/nio01/src/main/java/java0/nio01/netty/HttpClientDemo.java b/02nio/nio01/src/main/java/java0/nio01/netty/HttpClientDemo.java new file mode 100644 index 00000000..97674a5b --- /dev/null +++ b/02nio/nio01/src/main/java/java0/nio01/netty/HttpClientDemo.java @@ -0,0 +1,49 @@ +package java0.nio01.netty; + + +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.HttpStatus; +import org.apache.http.client.HttpClient; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.impl.client.DefaultHttpClient; +import org.apache.http.util.EntityUtils; + +import java.io.IOException; + +/** + * HttpClientDemo + * use HttpClient to access NettyHttpServer demo + * + * @author zengqi + * @date 2021/6/30 10:20 + */ +public class HttpClientDemo { + public static void main(String[] args) { + String url ="http://localhost:8808"; + String urlWithTest ="http://localhost:8808/test"; + getByHttpClient(url); + getByHttpClient(urlWithTest); + } + + private static void getByHttpClient(String url) { + HttpClient httpClient = new DefaultHttpClient(); + HttpGet getRequest = new HttpGet(url); + getRequest.addHeader("accept", "application/xml"); + try { + HttpResponse response = httpClient.execute(getRequest); + int statusCode = response.getStatusLine().getStatusCode(); + if (statusCode != HttpStatus.SC_OK) + { + throw new RuntimeException("Failed with HTTP error code : " + statusCode); + } + HttpEntity httpEntity = response.getEntity(); + String httpEntityString = EntityUtils.toString(httpEntity); + System.out.println(httpEntityString); + } catch (IOException e) { + e.printStackTrace(); + } + } + + +} diff --git a/02nio/nio02/pom.xml b/02nio/nio02/pom.xml index 005de90a..ab0e702f 100644 --- a/02nio/nio02/pom.xml +++ b/02nio/nio02/pom.xml @@ -57,7 +57,15 @@ org.projectlombok lombok - + + io.netty + netty-all + + + io.netty + netty-all + + b3I?rVWfvce(fY)#&r!|~{FljwCTAux}v>e%#; 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 z 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
  • o3jX{S0?wh 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

    +#)BPjX{t_pAp@K46PGrcFy?95P$3jfq1Ei>Qwe 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�$xk)RQOwVaMk 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 =!*(n~DRb#BNC3p0*nA9QTd_qV-f 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 Date: Mon, 19 Jul 2021 15:51:30 +0800 Subject: [PATCH 13/42] =?UTF-8?q?week05=20=E5=AE=8C=E6=88=90=E4=BA=86?= =?UTF-8?q?=E5=BF=85=E5=81=9A=E9=A2=982?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 04fx/homeworkweek05/pom.xml | 58 +++++++++++++++++++ .../Homeworkweek05Application.java | 29 ++++++++++ .../com/example/homeworkweek05/Student.java | 49 ++++++++++++++++ .../homeworkweek05/StudentConfiguration.java | 20 +++++++ .../src/main/resources/application.properties | 1 + .../src/main/resources/applicationContext.xml | 17 ++++++ .../Homeworkweek05ApplicationTests.java | 13 +++++ 7 files changed, 187 insertions(+) create mode 100644 04fx/homeworkweek05/pom.xml create mode 100644 04fx/homeworkweek05/src/main/java/com/example/homeworkweek05/Homeworkweek05Application.java create mode 100644 04fx/homeworkweek05/src/main/java/com/example/homeworkweek05/Student.java create mode 100644 04fx/homeworkweek05/src/main/java/com/example/homeworkweek05/StudentConfiguration.java create mode 100644 04fx/homeworkweek05/src/main/resources/application.properties create mode 100644 04fx/homeworkweek05/src/main/resources/applicationContext.xml create mode 100644 04fx/homeworkweek05/src/test/java/com/example/homeworkweek05/Homeworkweek05ApplicationTests.java diff --git a/04fx/homeworkweek05/pom.xml b/04fx/homeworkweek05/pom.xml new file mode 100644 index 00000000..7870820a --- /dev/null +++ b/04fx/homeworkweek05/pom.xml @@ -0,0 +1,58 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.5.2 + + + com.example + homeworkweek05 + 0.0.1-SNAPSHOT + homeworkweek05 + Demo project for Spring Boot + + 1.8 + + + + org.springframework.boot + spring-boot-starter + + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework + spring-context + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/04fx/homeworkweek05/src/main/java/com/example/homeworkweek05/Homeworkweek05Application.java b/04fx/homeworkweek05/src/main/java/com/example/homeworkweek05/Homeworkweek05Application.java new file mode 100644 index 00000000..cf08f8c2 --- /dev/null +++ b/04fx/homeworkweek05/src/main/java/com/example/homeworkweek05/Homeworkweek05Application.java @@ -0,0 +1,29 @@ +package com.example.homeworkweek05; + +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.ApplicationContext; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +@SpringBootApplication +public class Homeworkweek05Application { + + public static void main(String[] args) { + getBeanByXml(); + getBeanByAnnotation(); + // SpringApplication.run(Homeworkweek05Application.class, args); + } + + private static void getBeanByXml() { + ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); + Student student123 = (Student) context.getBean("student123"); + System.out.println(student123.toString()); + } + + private static void getBeanByAnnotation() { + ApplicationContext context = new AnnotationConfigApplicationContext("com.example.homeworkweek05"); + Student student456 = (Student) context.getBean("student456"); + System.err.println(student456.toString()); + } + +} diff --git a/04fx/homeworkweek05/src/main/java/com/example/homeworkweek05/Student.java b/04fx/homeworkweek05/src/main/java/com/example/homeworkweek05/Student.java new file mode 100644 index 00000000..3f92abe6 --- /dev/null +++ b/04fx/homeworkweek05/src/main/java/com/example/homeworkweek05/Student.java @@ -0,0 +1,49 @@ +package com.example.homeworkweek05; + + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; +import org.springframework.beans.factory.BeanNameAware; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; + +import java.io.Serializable; + + +@Data +@AllArgsConstructor +@NoArgsConstructor +@ToString +public class Student implements Serializable, BeanNameAware, ApplicationContextAware { + + + private int id; + private String name; + + private String beanName; + private ApplicationContext applicationContext; + + public Student(int id, String name) { + this.id = id; + this.name = name; + } + + public void init() { + System.out.println("hello..........."); + } + + public static Student create() { + return new Student(102, "KK102", null, null); + } + + public void print() { + System.out.println(this.beanName); + System.out.println(" context.getBeanDefinitionNames() ===>> " + + String.join(",", applicationContext.getBeanDefinitionNames())); + + } + + +} diff --git a/04fx/homeworkweek05/src/main/java/com/example/homeworkweek05/StudentConfiguration.java b/04fx/homeworkweek05/src/main/java/com/example/homeworkweek05/StudentConfiguration.java new file mode 100644 index 00000000..57fcb2a6 --- /dev/null +++ b/04fx/homeworkweek05/src/main/java/com/example/homeworkweek05/StudentConfiguration.java @@ -0,0 +1,20 @@ +package com.example.homeworkweek05; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * StudentConfiguration + * + * @author zengqi + * @date 2021/7/19 15:34 + */ + +@Configuration +public class StudentConfiguration { + + @Bean + public Student student456() { + return new Student(456, "zengqi456"); + } +} diff --git a/04fx/homeworkweek05/src/main/resources/application.properties b/04fx/homeworkweek05/src/main/resources/application.properties new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/04fx/homeworkweek05/src/main/resources/application.properties @@ -0,0 +1 @@ + diff --git a/04fx/homeworkweek05/src/main/resources/applicationContext.xml b/04fx/homeworkweek05/src/main/resources/applicationContext.xml new file mode 100644 index 00000000..6d0e2d0b --- /dev/null +++ b/04fx/homeworkweek05/src/main/resources/applicationContext.xml @@ -0,0 +1,17 @@ + + + + + + + + + \ No newline at end of file diff --git a/04fx/homeworkweek05/src/test/java/com/example/homeworkweek05/Homeworkweek05ApplicationTests.java b/04fx/homeworkweek05/src/test/java/com/example/homeworkweek05/Homeworkweek05ApplicationTests.java new file mode 100644 index 00000000..cf4d9744 --- /dev/null +++ b/04fx/homeworkweek05/src/test/java/com/example/homeworkweek05/Homeworkweek05ApplicationTests.java @@ -0,0 +1,13 @@ +package com.example.homeworkweek05; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class Homeworkweek05ApplicationTests { + + @Test + void contextLoads() { + } + +} From e50d85f8023fb9febb26567f82dc783d8cd6a388 Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Mon, 19 Jul 2021 17:15:05 +0800 Subject: [PATCH 14/42] =?UTF-8?q?week05=20=E5=BF=85=E5=81=9A=E9=A2=988?= =?UTF-8?q?=EF=BC=9A=E7=BB=99=E5=89=8D=E9=9D=A2=E8=AF=BE=E7=A8=8B=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E7=9A=84=20Student/Klass/School=20=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E9=85=8D=E7=BD=AE=E5=92=8C=20Starter?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 04fx/homework0502/pom.xml | 69 +++++++++++++++++++ .../homework0502/AutoConfiguration.java | 40 +++++++++++ .../homework0502/Homework0502Application.java | 16 +++++ .../java/com/example/homework0502/Klass.java | 15 ++++ .../java/com/example/homework0502/School.java | 13 ++++ .../com/example/homework0502/Student.java | 20 ++++++ .../homework0502/StudentProperties.java | 18 +++++ .../main/resources/META-INF/spring.factories | 1 + .../src/main/resources/application.properties | 2 + .../Homework0502ApplicationTests.java | 13 ++++ 10 files changed, 207 insertions(+) create mode 100644 04fx/homework0502/pom.xml create mode 100644 04fx/homework0502/src/main/java/com/example/homework0502/AutoConfiguration.java create mode 100644 04fx/homework0502/src/main/java/com/example/homework0502/Homework0502Application.java create mode 100644 04fx/homework0502/src/main/java/com/example/homework0502/Klass.java create mode 100644 04fx/homework0502/src/main/java/com/example/homework0502/School.java create mode 100644 04fx/homework0502/src/main/java/com/example/homework0502/Student.java create mode 100644 04fx/homework0502/src/main/java/com/example/homework0502/StudentProperties.java create mode 100644 04fx/homework0502/src/main/resources/META-INF/spring.factories create mode 100644 04fx/homework0502/src/main/resources/application.properties create mode 100644 04fx/homework0502/src/test/java/com/example/homework0502/Homework0502ApplicationTests.java diff --git a/04fx/homework0502/pom.xml b/04fx/homework0502/pom.xml new file mode 100644 index 00000000..5f5c9f41 --- /dev/null +++ b/04fx/homework0502/pom.xml @@ -0,0 +1,69 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.5.2 + + + com.example + homework0502 + 0.0.1-SNAPSHOT + homework0502 + Demo project for Spring Boot + + 1.8 + + + + org.springframework.boot + spring-boot-configuration-processor + true + + + org.springframework.boot + spring-boot-starter + + + mysql + mysql-connector-java + runtime + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + + com.zaxxer + HikariCP + 4.0.2 + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/04fx/homework0502/src/main/java/com/example/homework0502/AutoConfiguration.java b/04fx/homework0502/src/main/java/com/example/homework0502/AutoConfiguration.java new file mode 100644 index 00000000..e10f3cfd --- /dev/null +++ b/04fx/homework0502/src/main/java/com/example/homework0502/AutoConfiguration.java @@ -0,0 +1,40 @@ +package com.example.homework0502; + +import io.kimmking.spring01.Student; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import javax.annotation.Resource; + +/** + * AutoConfiguration + * + * @author zengqi + * @date 2021/7/19 16:37 + */ + +@Configuration +@EnableConfigurationProperties(StudentProperties.class) +public class AutoConfiguration { + @Resource + private StudentProperties studentProperties; + @Bean + @ConditionalOnMissingBean + public Student student() { + return new Student(studentProperties.getId(),studentProperties.getName()); + } + + @Bean + @ConditionalOnMissingBean + public Klass klass() { + return new Klass(); + } + + @Bean + @ConditionalOnMissingBean + public School school() { + return new School(); + } +} diff --git a/04fx/homework0502/src/main/java/com/example/homework0502/Homework0502Application.java b/04fx/homework0502/src/main/java/com/example/homework0502/Homework0502Application.java new file mode 100644 index 00000000..4207b69a --- /dev/null +++ b/04fx/homework0502/src/main/java/com/example/homework0502/Homework0502Application.java @@ -0,0 +1,16 @@ +package com.example.homework0502; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * @author zengqi + */ +@SpringBootApplication +public class Homework0502Application { + + public static void main(String[] args) { + SpringApplication.run(Homework0502Application.class, args); + } + +} diff --git a/04fx/homework0502/src/main/java/com/example/homework0502/Klass.java b/04fx/homework0502/src/main/java/com/example/homework0502/Klass.java new file mode 100644 index 00000000..2ee110cb --- /dev/null +++ b/04fx/homework0502/src/main/java/com/example/homework0502/Klass.java @@ -0,0 +1,15 @@ +package com.example.homework0502; + +import io.kimmking.spring01.Student; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class Klass { + List students; +} diff --git a/04fx/homework0502/src/main/java/com/example/homework0502/School.java b/04fx/homework0502/src/main/java/com/example/homework0502/School.java new file mode 100644 index 00000000..40ee0eb7 --- /dev/null +++ b/04fx/homework0502/src/main/java/com/example/homework0502/School.java @@ -0,0 +1,13 @@ +package com.example.homework0502; + +import io.kimmking.spring01.Student; +import lombok.Data; + +@Data +public class School { + + Klass class1; + + Student student; + +} diff --git a/04fx/homework0502/src/main/java/com/example/homework0502/Student.java b/04fx/homework0502/src/main/java/com/example/homework0502/Student.java new file mode 100644 index 00000000..71c78fd1 --- /dev/null +++ b/04fx/homework0502/src/main/java/com/example/homework0502/Student.java @@ -0,0 +1,20 @@ +package io.kimmking.spring01; + + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; + + +/** + * @author zengqi + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@ToString +public class Student { + private int id; + private String name; +} diff --git a/04fx/homework0502/src/main/java/com/example/homework0502/StudentProperties.java b/04fx/homework0502/src/main/java/com/example/homework0502/StudentProperties.java new file mode 100644 index 00000000..70cbd2c2 --- /dev/null +++ b/04fx/homework0502/src/main/java/com/example/homework0502/StudentProperties.java @@ -0,0 +1,18 @@ +package com.example.homework0502; + + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; + +import java.io.Serializable; + + +/** + * @author zengqi + */ +@Data +@ConfigurationProperties(prefix = "student") +public class StudentProperties implements Serializable { + private int id; + private String name; +} diff --git a/04fx/homework0502/src/main/resources/META-INF/spring.factories b/04fx/homework0502/src/main/resources/META-INF/spring.factories new file mode 100644 index 00000000..d4b50450 --- /dev/null +++ b/04fx/homework0502/src/main/resources/META-INF/spring.factories @@ -0,0 +1 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.example.homework0502.AutoConfiguration \ No newline at end of file diff --git a/04fx/homework0502/src/main/resources/application.properties b/04fx/homework0502/src/main/resources/application.properties new file mode 100644 index 00000000..0eb797f1 --- /dev/null +++ b/04fx/homework0502/src/main/resources/application.properties @@ -0,0 +1,2 @@ +student.id=824 +student.name=zengqi \ No newline at end of file diff --git a/04fx/homework0502/src/test/java/com/example/homework0502/Homework0502ApplicationTests.java b/04fx/homework0502/src/test/java/com/example/homework0502/Homework0502ApplicationTests.java new file mode 100644 index 00000000..cfb57e71 --- /dev/null +++ b/04fx/homework0502/src/test/java/com/example/homework0502/Homework0502ApplicationTests.java @@ -0,0 +1,13 @@ +package com.example.homework0502; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class Homework0502ApplicationTests { + + @Test + void contextLoads() { + } + +} From ba7965a9d151cf7d247178ab812332bbadd95315 Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Wed, 21 Jul 2021 09:42:19 +0800 Subject: [PATCH 15/42] =?UTF-8?q?week05=20=E5=BF=85=E5=81=9A=E9=A2=9810?= =?UTF-8?q?=EF=BC=9A=E7=A0=94=E7=A9=B6=E4=B8=80=E4=B8=8B=20JDBC=20?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=92=8C=E6=95=B0=E6=8D=AE=E5=BA=93=E8=BF=9E?= =?UTF-8?q?=E6=8E=A5=E6=B1=A0=EF=BC=8C=E6=8E=8C=E6=8F=A1=E5=AE=83=E4=BB=AC?= =?UTF-8?q?=E7=9A=84=E8=AE=BE=E8=AE=A1=E5=92=8C=E7=94=A8=E6=B3=95=EF=BC=9A?= =?UTF-8?q?=201=EF=BC=89=E4=BD=BF=E7=94=A8=20JDBC=20=E5=8E=9F=E7=94=9F?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=EF=BC=8C=E5=AE=9E=E7=8E=B0=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E7=9A=84=E5=A2=9E=E5=88=A0=E6=94=B9=E6=9F=A5=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E3=80=82=202=EF=BC=89=E4=BD=BF=E7=94=A8=E4=BA=8B?= =?UTF-8?q?=E5=8A=A1=EF=BC=8CPrepareStatement=20=E6=96=B9=E5=BC=8F?= =?UTF-8?q?=EF=BC=8C=E6=89=B9=E5=A4=84=E7=90=86=E6=96=B9=E5=BC=8F=EF=BC=8C?= =?UTF-8?q?=E6=94=B9=E8=BF=9B=E4=B8=8A=E8=BF=B0=E6=93=8D=E4=BD=9C=E3=80=82?= =?UTF-8?q?=203=EF=BC=89=E9=85=8D=E7=BD=AE=20Hikari=20=E8=BF=9E=E6=8E=A5?= =?UTF-8?q?=E6=B1=A0=EF=BC=8C=E6=94=B9=E8=BF=9B=E4=B8=8A=E8=BF=B0=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E3=80=82=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81=E5=88=B0?= =?UTF-8?q?=20GitHub=E3=80=82=20=E9=A2=9D=E5=A4=96=E4=BD=BF=E7=94=A8templa?= =?UTF-8?q?te=E8=BF=9B=E8=A1=8C=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 04fx/homework0502/pom.xml | 4 ++ .../homework0502/Homework0502Application.java | 68 ++++++++++++++++++- .../src/main/resources/application.properties | 11 ++- .../src/main/resources/schema.sql | 1 + 4 files changed, 82 insertions(+), 2 deletions(-) create mode 100644 04fx/homework0502/src/main/resources/schema.sql diff --git a/04fx/homework0502/pom.xml b/04fx/homework0502/pom.xml index 5f5c9f41..e10d7273 100644 --- a/04fx/homework0502/pom.xml +++ b/04fx/homework0502/pom.xml @@ -47,6 +47,10 @@ HikariCP 4.0.2 + + org.springframework.boot + spring-boot-starter-jdbc + diff --git a/04fx/homework0502/src/main/java/com/example/homework0502/Homework0502Application.java b/04fx/homework0502/src/main/java/com/example/homework0502/Homework0502Application.java index 4207b69a..8b40debc 100644 --- a/04fx/homework0502/src/main/java/com/example/homework0502/Homework0502Application.java +++ b/04fx/homework0502/src/main/java/com/example/homework0502/Homework0502Application.java @@ -1,16 +1,82 @@ package com.example.homework0502; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.jdbc.core.JdbcTemplate; + +import javax.sql.DataSource; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; /** * @author zengqi */ @SpringBootApplication -public class Homework0502Application { +@Slf4j +public class Homework0502Application implements CommandLineRunner { + @Autowired + private DataSource dataSource; + + @Autowired + private JdbcTemplate jdbcTemplate; public static void main(String[] args) { SpringApplication.run(Homework0502Application.class, args); } + @Override + public void run(String... args) throws Exception { + showConnection(); + showData(); + } + + private void showConnection() throws SQLException { + log.info(dataSource.toString()); + Connection connection = dataSource.getConnection(); + //å…³é—­č‡ŖåŠØęäŗ¤ + connection.setAutoCommit(false); + // insert + PreparedStatement pst = connection.prepareStatement("insert into student values (?,?)"); + for(int i=0;i<10;i++){ + pst.setInt(1,i); + pst.setString(2,"userName"+i); + pst.addBatch(); + } + pst.executeBatch(); + pst.close(); + connection.commit(); + //delete + PreparedStatement pst2 = connection.prepareStatement("delete from student where id > 5"); + pst2.executeUpdate(); + pst2.close(); + connection.commit(); + //update + PreparedStatement pst3 = connection.prepareStatement("update student set name=? where id = ?"); + for(int i=0;i<10;i++){ + pst3.setString(1,i+"name"); + pst3.setInt(2,i); + pst3.addBatch(); + } + pst3.executeBatch(); + pst3.close(); + connection.commit(); + //select + PreparedStatement pst4 = connection.prepareStatement("select * from student"); + ResultSet rs = pst4.executeQuery(); + while(rs.next()){ + System.out.println(rs.getInt("id")+": "+ rs.getString("name")); + } + connection.close(); + +} + + private void showData() { + jdbcTemplate.queryForList("SELECT * FROM Student") + .forEach(row -> log.info(row.toString())); + } } diff --git a/04fx/homework0502/src/main/resources/application.properties b/04fx/homework0502/src/main/resources/application.properties index 0eb797f1..ee133571 100644 --- a/04fx/homework0502/src/main/resources/application.properties +++ b/04fx/homework0502/src/main/resources/application.properties @@ -1,2 +1,11 @@ student.id=824 -student.name=zengqi \ No newline at end of file +student.name=zengqi + +spring.datasource.url=jdbc:mysql://localhost:3306/java_course?characterEncoding=utf8&serverTimezone=Asia/Shanghai +spring.datasource.username=root +spring.datasource.password=1234 +spring.datasource.hikari.maximumPoolSize=10 +spring.datasource.hikari.minimumIdle=5 +spring.datasource.hikari.idleTimeout=600000 +spring.datasource.hikari.connectionTimeout=30000 +spring.datasource.hikari.maxLifetime=1800000 \ No newline at end of file diff --git a/04fx/homework0502/src/main/resources/schema.sql b/04fx/homework0502/src/main/resources/schema.sql new file mode 100644 index 00000000..8880f241 --- /dev/null +++ b/04fx/homework0502/src/main/resources/schema.sql @@ -0,0 +1 @@ +CREATE TABLE Student (ID INT primary key , NAME VARCHAR(64)); \ No newline at end of file From 1a97d742cd49fa813848a0a6d198e8b3c1db2306 Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Wed, 21 Jul 2021 09:48:16 +0800 Subject: [PATCH 16/42] fix a package name --- .../src/main/java/com/example/homework0502/Student.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/04fx/homework0502/src/main/java/com/example/homework0502/Student.java b/04fx/homework0502/src/main/java/com/example/homework0502/Student.java index 71c78fd1..f465ae34 100644 --- a/04fx/homework0502/src/main/java/com/example/homework0502/Student.java +++ b/04fx/homework0502/src/main/java/com/example/homework0502/Student.java @@ -1,4 +1,4 @@ -package io.kimmking.spring01; +package com.example.homework0502; import lombok.AllArgsConstructor; From a8203546ab439edb601d944ac8bdda6ba54246c0 Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Wed, 21 Jul 2021 09:49:30 +0800 Subject: [PATCH 17/42] fix a package name --- .../main/java/com/example/homework0502/AutoConfiguration.java | 1 - .../src/main/java/com/example/homework0502/Klass.java | 1 - .../src/main/java/com/example/homework0502/School.java | 1 - 3 files changed, 3 deletions(-) diff --git a/04fx/homework0502/src/main/java/com/example/homework0502/AutoConfiguration.java b/04fx/homework0502/src/main/java/com/example/homework0502/AutoConfiguration.java index e10f3cfd..56811be1 100644 --- a/04fx/homework0502/src/main/java/com/example/homework0502/AutoConfiguration.java +++ b/04fx/homework0502/src/main/java/com/example/homework0502/AutoConfiguration.java @@ -1,6 +1,5 @@ package com.example.homework0502; -import io.kimmking.spring01.Student; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; diff --git a/04fx/homework0502/src/main/java/com/example/homework0502/Klass.java b/04fx/homework0502/src/main/java/com/example/homework0502/Klass.java index 2ee110cb..7e07c868 100644 --- a/04fx/homework0502/src/main/java/com/example/homework0502/Klass.java +++ b/04fx/homework0502/src/main/java/com/example/homework0502/Klass.java @@ -1,6 +1,5 @@ package com.example.homework0502; -import io.kimmking.spring01.Student; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; diff --git a/04fx/homework0502/src/main/java/com/example/homework0502/School.java b/04fx/homework0502/src/main/java/com/example/homework0502/School.java index 40ee0eb7..142e96a8 100644 --- a/04fx/homework0502/src/main/java/com/example/homework0502/School.java +++ b/04fx/homework0502/src/main/java/com/example/homework0502/School.java @@ -1,6 +1,5 @@ package com.example.homework0502; -import io.kimmking.spring01.Student; import lombok.Data; @Data From 6db6cafe4981e8c4c570a46b8fac38f7c168e91b Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Wed, 28 Jul 2021 10:27:05 +0800 Subject: [PATCH 18/42] =?UTF-8?q?week06=20=EF=BC=88=E5=BF=85=E5=81=9A?= =?UTF-8?q?=EF=BC=89=E5=9F=BA=E4=BA=8E=E7=94=B5=E5=95=86=E4=BA=A4=E6=98=93?= =?UTF-8?q?=E5=9C=BA=E6=99=AF=EF=BC=88=E7=94=A8=E6=88=B7=E3=80=81=E5=95=86?= =?UTF-8?q?=E5=93=81=E3=80=81=E8=AE=A2=E5=8D=95=EF=BC=89=EF=BC=8C=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E4=B8=80=E5=A5=97=E7=AE=80=E5=8D=95=E7=9A=84=E8=A1=A8?= =?UTF-8?q?=E7=BB=93=E6=9E=84=EF=BC=8C=E6=8F=90=E4=BA=A4=20DDL=20=E7=9A=84?= =?UTF-8?q?=20SQL=20=E6=96=87=E4=BB=B6=E5=88=B0=20Github=EF=BC=88=E5=90=8E?= =?UTF-8?q?=E9=9D=A2=202=20=E5=91=A8=E7=9A=84=E4=BD=9C=E4=B8=9A=E4=BE=9D?= =?UTF-8?q?=E7=84=B6=E8=A6=81=E6=98=AF=E7=94=A8=E5=88=B0=E8=BF=99=E4=B8=AA?= =?UTF-8?q?=E8=A1=A8=E7=BB=93=E6=9E=84=EF=BC=89=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 06db/homework06/init.sql | 46 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 06db/homework06/init.sql diff --git a/06db/homework06/init.sql b/06db/homework06/init.sql new file mode 100644 index 00000000..90637dec --- /dev/null +++ b/06db/homework06/init.sql @@ -0,0 +1,46 @@ +CREATE TABLE `user` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'č‡Ŗå¢žäø»é”®ID', + `user_name` varchar(64) NOT NULL DEFAULT '' COMMENT 'ē”Øęˆ·å', + `phone` varchar(20) NOT NULL DEFAULT '' COMMENT 'ę‰‹ęœŗ', + `email` varchar(50) NOT NULL DEFAULT '' COMMENT '邮箱', + `created_time` datetime NOT NULL default now() COMMENT 'åˆ›å»ŗę—¶é—“', + `updated_time` datetime NOT NULL default now() COMMENT 'ꛓꖰꗶ闓', + `created_by` varchar(64) not null DEFAULT '' COMMENT 'åˆ›å»ŗäŗŗ', + `updated_by` varchar(64) not null DEFAULT '' COMMENT '曓新人', + PRIMARY KEY (`id`), + UNIQUE KEY `unique_idx_user_name` (`user_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='ē”Øęˆ·č”Ø'; + +CREATE TABLE `product` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'č‡Ŗå¢žäø»é”®ID', + `product_name` varchar(100) NOT NULL DEFAULT '' COMMENT 'å•†å“åē§°', + `product_code` varchar(32) NOT NULL DEFAULT '' COMMENT '商品代码', + `product_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '商品价格', + `desc` varchar(100) NOT NULL DEFAULT '' COMMENT 'ęčæ°', + `created_time` datetime NOT NULL default now() COMMENT 'åˆ›å»ŗę—¶é—“', + `updated_time` datetime NOT NULL default now() COMMENT 'ꛓꖰꗶ闓', + `created_by` varchar(64) not null DEFAULT '' COMMENT 'åˆ›å»ŗäŗŗ', + `updated_by` varchar(64) not null DEFAULT '' COMMENT '曓新人', + PRIMARY KEY (`id`), + UNIQUE KEY `unique_idx_product_code` (`product_code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品蔨'; + + +CREATE TABLE `order` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'č‡Ŗå¢žäø»é”®ID', + `order_id` varchar(32) NOT NULL DEFAULT '' COMMENT 'č®¢å•å·', + `product_code` varchar(32) NOT NULL DEFAULT '' COMMENT '商品代码', + `user_name` varchar(32) NOT NULL DEFAULT '' COMMENT 'ē”Øęˆ·å', + `count` int(11) NOT NULL DEFAULT '0' COMMENT 'č“­ä¹°ę•°é‡', + `unit_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '单价', + `real_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT 'å®žé™…ä»·ę ¼', + `discount_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT 'ęŠ˜ę‰£ä»·ę ¼', + `created_time` datetime NOT NULL default now() COMMENT 'åˆ›å»ŗę—¶é—“', + `updated_time` datetime NOT NULL default now() COMMENT 'ꛓꖰꗶ闓', + `created_by` varchar(64) not null DEFAULT '' COMMENT 'åˆ›å»ŗäŗŗ', + `updated_by` varchar(64) not null DEFAULT '' COMMENT '曓新人', + PRIMARY KEY (`id`), + UNIQUE KEY `unique_idx_order_id` (`order_id`), + KEY `idx_product_code` (`product_code`), + KEY `idx_user_name` (`user_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='č®¢å•č”Ø'; From b5e205a02b79de58f4430d9dd56b6bcca379e822 Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Mon, 2 Aug 2021 11:34:23 +0800 Subject: [PATCH 19/42] =?UTF-8?q?week06=20=E5=BF=85=E5=81=9A=E9=A2=982=20?= =?UTF-8?q?=E6=8C=89=E8=87=AA=E5=B7=B1=E8=AE=BE=E8=AE=A1=E7=9A=84=E8=A1=A8?= =?UTF-8?q?=E7=BB=93=E6=9E=84=EF=BC=8C=E6=8F=92=E5=85=A5100=E4=B8=87?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E6=A8=A1=E6=8B=9F=E6=95=B0=E6=8D=AE=EF=BC=8C?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E4=B8=8D=E5=90=8C=E6=96=B9=E5=BC=8F=E7=9A=84?= =?UTF-8?q?=E6=8F=92=E5=85=A5=E6=95=88=E7=8E=87=E3=80=82=20=E5=9B=A0?= =?UTF-8?q?=E4=B8=BA=E4=B9=8B=E5=89=8D=E6=9C=89=E8=BE=83=E5=A4=9A=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=90=8C=E6=AD=A5=E7=BB=8F=E9=AA=8C=EF=BC=8C=E6=AD=A4?= =?UTF-8?q?=E5=A4=84=E6=B2=A1=E6=9C=89=E7=89=B9=E5=88=AB=E5=9C=A8=E6=84=8F?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E7=9A=84=E6=AF=94=E8=BE=83=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 代码写了2中,都在Homework07ApplicationTests.javaäø­ 1.å•ēŗæēØ‹ļ¼ŒJDBCēš„ę–¹å¼ę‰¹é‡ę’å…„ 2.使用 hikari ę•°ę®åŗ“čæžęŽ„ę± å¤šēŗæēØ‹ę‰§č”Œ 2比1块1倍左右 ęœŖå®žēŽ°ļ¼š 3.å•ēŗæēØ‹ å•ę”ę•°ę®å¾ŖēŽÆäø€ę”ę”ę’å…„ļ¼Œē†č®ŗęœ€ę…¢ 4.å•ēŗæēØ‹ insertt valuseļ¼ˆå¤šę”ę•°ę®ļ¼‰ļ¼Œčæ™ē§ęœ‰å‚ę•°å¤§å°é™åˆ¶ ę‹“å±•ļ¼šå·„ä½œä¹‹å‰å¤šä½æē”Øoracleļ¼Œčæ™ę ·äø€äŗ›ę–¹ę³•åÆä»„ęé«˜ę’å…„ę•ˆēŽ‡ļ¼ŒäøēŸ„é“mysqlę˜Æå¦ę”ÆęŒļ¼š 1. bulk collect into 2. 并蔌(hint 里加PARALLELļ¼‰ļ¼Œéœ€ę³Øę„ę•°ę®åŗ“é…ē½®ēš„å¹¶å‘ę•° 3. merge into äø­åŖä½æē”Øę’å…„ēš„čÆ­å„ 4. å—ęäŗ¤ļ¼ˆé€‚åˆå¤§ę‰¹é‡ę•°ę®å…Øé‡ę•°ę®åŒę­„ļ¼‰ č”„å……ļ¼š 1.å®žé™…å·„ä½œäø­åÆ¹å¤§ę•°ę®é‡ēš„ę’å…„ļ¼Œå¾€å¾€éœ€č¦å…ˆä»ŽęŸäøŖåŗ“č”Øäø­ęŸ„čÆ¢å‡ŗčæ™éƒØåˆ†ę•°ę®ļ¼Œč€Œå¤„ē†ęŸ„čÆ¢čÆ­å„ēš„č€—ę—¶ę›“ę˜Æé—®é¢˜ć€‚å¦‚ęžœä½æē”Øå¹¶å‘ęˆ–č€…åˆ†ę®µęŸ„čÆ¢č¦č€ƒč™‘ę•°ę®é‡å¤ć€åˆ†é”µę—¶ęŽ’åŗē­‰é—®é¢˜ć€‚å¦‚ęžœå›žę»šę®µę”ÆęŒč¶³å¤Ÿå¤§ļ¼Œå¹¶å‘äø€ę¬”ę€§ęŸ„čÆ¢åŽå…ØéƒØę’å…„ę˜Æęœ€åæ«ēš„ 2.å¤§ę•°ę®é‡åŒę­„åÆä»„ä½æē”Økettleē­‰åŒę­„å·„å…·ļ¼Œä¹ŸåÆä»„ä½æē”Øspringbatchčæ›č”Œę‰¹é‡å¤„ē† --- .../src/main/resources/application.properties | 2 +- 06db/homework06/init.sql | 2 +- 06db/homework07/.gitignore | 33 ++++++ 06db/homework07/pom.xml | 59 ++++++++++ .../homework07/Homework07Application.java | 13 +++ .../src/main/resources/application.properties | 8 ++ .../Homework07ApplicationTests.java | 102 ++++++++++++++++++ 7 files changed, 217 insertions(+), 2 deletions(-) create mode 100644 06db/homework07/.gitignore create mode 100644 06db/homework07/pom.xml create mode 100644 06db/homework07/src/main/java/com/example/homework07/Homework07Application.java create mode 100644 06db/homework07/src/main/resources/application.properties create mode 100644 06db/homework07/src/test/java/com/example/homework07/Homework07ApplicationTests.java diff --git a/04fx/homework0502/src/main/resources/application.properties b/04fx/homework0502/src/main/resources/application.properties index ee133571..014469f7 100644 --- a/04fx/homework0502/src/main/resources/application.properties +++ b/04fx/homework0502/src/main/resources/application.properties @@ -1,7 +1,7 @@ student.id=824 student.name=zengqi -spring.datasource.url=jdbc:mysql://localhost:3306/java_course?characterEncoding=utf8&serverTimezone=Asia/Shanghai +spring.datasource.url=jdbc:mysql://localhost:3306/java_course?characterEncoding=utf8&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true spring.datasource.username=root spring.datasource.password=1234 spring.datasource.hikari.maximumPoolSize=10 diff --git a/06db/homework06/init.sql b/06db/homework06/init.sql index 90637dec..4b40d6ad 100644 --- a/06db/homework06/init.sql +++ b/06db/homework06/init.sql @@ -28,7 +28,7 @@ CREATE TABLE `product` ( CREATE TABLE `order` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'č‡Ŗå¢žäø»é”®ID', - `order_id` varchar(32) NOT NULL DEFAULT '' COMMENT 'č®¢å•å·', + `order_id` varchar(64) NOT NULL DEFAULT '' COMMENT 'č®¢å•å·', `product_code` varchar(32) NOT NULL DEFAULT '' COMMENT '商品代码', `user_name` varchar(32) NOT NULL DEFAULT '' COMMENT 'ē”Øęˆ·å', `count` int(11) NOT NULL DEFAULT '0' COMMENT 'č“­ä¹°ę•°é‡', diff --git a/06db/homework07/.gitignore b/06db/homework07/.gitignore new file mode 100644 index 00000000..549e00a2 --- /dev/null +++ b/06db/homework07/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/06db/homework07/pom.xml b/06db/homework07/pom.xml new file mode 100644 index 00000000..efd46d5e --- /dev/null +++ b/06db/homework07/pom.xml @@ -0,0 +1,59 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.5.3 + + + com.example + homework07 + 0.0.1-SNAPSHOT + homework07 + Demo project for Spring Boot + + 1.8 + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + mysql + mysql-connector-java + runtime + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/06db/homework07/src/main/java/com/example/homework07/Homework07Application.java b/06db/homework07/src/main/java/com/example/homework07/Homework07Application.java new file mode 100644 index 00000000..9666d096 --- /dev/null +++ b/06db/homework07/src/main/java/com/example/homework07/Homework07Application.java @@ -0,0 +1,13 @@ +package com.example.homework07; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class Homework07Application { + + public static void main(String[] args) { + SpringApplication.run(Homework07Application.class, args); + } + +} diff --git a/06db/homework07/src/main/resources/application.properties b/06db/homework07/src/main/resources/application.properties new file mode 100644 index 00000000..c2a6ebce --- /dev/null +++ b/06db/homework07/src/main/resources/application.properties @@ -0,0 +1,8 @@ +spring.datasource.url=jdbc:mysql://localhost:3306/java_course?characterEncoding=utf8&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true +spring.datasource.username=root +spring.datasource.password=1234 +spring.datasource.hikari.maximumPoolSize=10 +spring.datasource.hikari.minimumIdle=5 +spring.datasource.hikari.idleTimeout=600000 +spring.datasource.hikari.connectionTimeout=30000 +spring.datasource.hikari.maxLifetime=1800000 diff --git a/06db/homework07/src/test/java/com/example/homework07/Homework07ApplicationTests.java b/06db/homework07/src/test/java/com/example/homework07/Homework07ApplicationTests.java new file mode 100644 index 00000000..58c2b478 --- /dev/null +++ b/06db/homework07/src/test/java/com/example/homework07/Homework07ApplicationTests.java @@ -0,0 +1,102 @@ +package com.example.homework07; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import javax.sql.DataSource; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; + +@SpringBootTest +class Homework07ApplicationTests { + + private static final String BATCH_INSERT_SQL = "insert into java_course.order(order_id,product_code,user_name," + + "count,unit_price,real_price,discount_price) values(?,?,?,?,?,?,?)"; + + @Autowired + DataSource dataSource; + + @Test + void contextLoads() { + } + + /** + * čæžęŽ„ę± +异歄 + * ęœŖå¼€åÆrewriteBatchedStatements=trueč€—ę—¶äøŗļ¼š691954 + * 开启rewriteBatchedStatements=trueč€—ę—¶äøŗļ¼š317378 + */ + @Test + void batchInsert() { + long start = System.currentTimeMillis(); + ExecutorService threadPool = Executors.newFixedThreadPool(10); + List> futureTasks = new ArrayList<>(); + for (int index = 0; index < 10; index++) { + Future submit = threadPool.submit(() -> { + try (Connection connection = dataSource.getConnection(); + PreparedStatement preparedStatement = connection.prepareStatement(BATCH_INSERT_SQL);) { + for (int i = 1; i <= 100000; i++) { + preparedStatement.setString(1, UUID.randomUUID().toString()); + preparedStatement.setString(2, String.valueOf(i)); + preparedStatement.setString(3, String.valueOf(i)); + preparedStatement.setInt(4, i); + preparedStatement.setDouble(5, i); + preparedStatement.setDouble(6, i); + preparedStatement.setDouble(7, i); + preparedStatement.addBatch(); + } + preparedStatement.executeBatch(); + } catch (SQLException throwables) { + throwables.printStackTrace(); + } + }); + futureTasks.add(submit); + } + futureTasks.forEach(f -> { + try { + f.get(); + } catch (InterruptedException | ExecutionException e) { + e.printStackTrace(); + } + }); + long time1 = System.currentTimeMillis(); + System.out.println("ä½æē”ØēŗæēØ‹ę± ę‰¹é‡å¢žåŠ ēš„č€—ę—¶äøŗļ¼š" + (time1 - start)); + } + + @Test + void batchInsertByJDBC() throws SQLException { + /** + * 开启rewriteBatchedStatements=trueč€—ę—¶äøŗļ¼š630357 + */ + String url = "jdbc:mysql://localhost:3306/java_course?characterEncoding=utf8&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true"; + long start = System.currentTimeMillis(); + try (Connection connection = DriverManager.getConnection(url, "root", "1234"); + PreparedStatement preparedStatement = connection.prepareStatement(BATCH_INSERT_SQL);) { + for (int i = 1; i <= 1000000; i++) { + preparedStatement.setString(1, UUID.randomUUID().toString()); + preparedStatement.setString(2, String.valueOf(i)); + preparedStatement.setString(3, String.valueOf(i)); + preparedStatement.setInt(4, i); + preparedStatement.setDouble(5, i); + preparedStatement.setDouble(6, i); + preparedStatement.setDouble(7, i); + preparedStatement.addBatch(); + if (i % 10000 == 0) { + preparedStatement.executeBatch(); + } + } + long time1 = System.currentTimeMillis(); + System.out.println("使用preparedStatementę‰¹é‡ę’å…„100wę”č®°å½•å…±č€—ę—¶ļ¼š" + (time1 - start) + " ms"); + } + + } +} From ee09250a29224c243ae5b89b73d35ed9678f1b08 Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Tue, 3 Aug 2021 16:10:45 +0800 Subject: [PATCH 20/42] =?UTF-8?q?week06=20=E5=BF=85=E5=81=9A=E9=A2=9829=20?= =?UTF-8?q?=E8=AF=BB=E5=86=99=E5=88=86=E7=A6=BB=20-=20=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E6=95=B0=E6=8D=AE=E6=BA=90=E7=89=88=E6=9C=AC?= =?UTF-8?q?=201.0=EF=BC=9A=20=E5=9F=BA=E6=9C=AC=E5=8E=9F=E7=90=86=E4=B8=BA?= =?UTF-8?q?=E4=BD=BF=E7=94=A8ThreadLoacal=E5=AF=B9=E5=A4=9A=E4=B8=AA?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=BA=90=E8=BF=9B=E8=A1=8C=E6=8C=81=E6=9C=89?= =?UTF-8?q?=EF=BC=8C=E5=86=8D=E9=80=9A=E8=BF=87=E6=B3=A8=E8=A7=A3=E5=88=87?= =?UTF-8?q?=E9=9D=A2=E6=88=96=E8=80=85=E5=88=AB=E7=9A=84=E6=96=B9=E5=BC=8F?= =?UTF-8?q?=E5=9C=A8DAO=E5=B1=82=E8=BF=9B=E8=A1=8C=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E3=80=82=20=E8=BF=99=E9=81=93=E9=A2=98?= =?UTF-8?q?=E7=94=9F=E6=88=90=E6=88=96=E8=87=AA=E5=B7=B1=E5=B7=B2=E7=BB=8F?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E8=BF=87=E5=A4=9A=E6=AC=A1=EF=BC=8C=E5=B0=B1?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E5=86=8D=E9=87=8D=E6=96=B0=E5=86=99=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=EF=BC=8C=E8=BF=99=E9=87=8C=E4=BD=BF=E7=94=A8=E5=90=8C?= =?UTF-8?q?=E4=B8=80github=E4=B8=AD=E8=87=AA=E5=B7=B1=E5=86=99=E7=9A=84?= =?UTF-8?q?=E4=B8=80=E4=B8=AAdemo=EF=BC=9A=E6=B2=A1=E6=9C=89=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E6=B3=A8=E8=A7=A3=E5=8E=BB=E5=88=87=E6=8D=A2=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=EF=BC=88=E7=94=9F=E4=BA=A7=E9=A1=B9=E7=9B=AE=E6=9C=89?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E5=88=87=E9=9D=A2+=E6=B3=A8=E8=A7=A3?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E4=BD=BF=E7=94=A8=E4=B8=8D=E5=90=8C=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=EF=BC=89=EF=BC=8C=E5=9B=A0=E4=B8=BA=E8=AF=A5?= =?UTF-8?q?demo=E4=BC=9A=E7=BB=93=E5=90=88springbatch=E5=81=9A=E6=89=B9?= =?UTF-8?q?=E5=A4=84=E7=90=86=EF=BC=9A=E6=AF=8F=E4=B8=AA=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E4=BC=9A=E5=90=AF=E5=8A=A8=E5=A4=9A=E4=B8=AA=E7=BA=BF=E7=A8=8B?= =?UTF-8?q?=EF=BC=8C=E6=AF=8F=E4=B8=AA=E7=BA=BF=E7=A8=8B=E4=BC=9A=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E4=B8=8D=E5=90=8C=E7=9A=84=E6=95=B0=E6=8D=AE=E6=BA=90?= =?UTF-8?q?=EF=BC=8C=E8=BE=BE=E5=88=B0=E5=8A=A8=E6=80=81=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E7=9A=84=E7=9B=AE=E7=9A=84=E3=80=82=E8=AF=A6=E6=83=85=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E5=9C=A8=EF=BC=9A=20https://github.com/zengqi826/mult?= =?UTF-8?q?i=5Ftenant=5Fspringbatch=5Fdemo/tree/25376327208028edc93b62119a?= =?UTF-8?q?a23d470753370b?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 06db/homework07/HELP.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 06db/homework07/HELP.md diff --git a/06db/homework07/HELP.md b/06db/homework07/HELP.md new file mode 100644 index 00000000..f8c89ce8 --- /dev/null +++ b/06db/homework07/HELP.md @@ -0,0 +1,4 @@ +9.ļ¼ˆåæ…åšļ¼‰čÆ»å†™åˆ†ē¦» - åŠØę€åˆ‡ę¢ę•°ę®ęŗē‰ˆęœ¬ 1.0: +åŸŗęœ¬åŽŸē†äøŗä½æē”ØThreadLoacalåÆ¹å¤šäøŖę•°ę®ęŗčæ›č”ŒęŒęœ‰ļ¼Œå†é€ščæ‡ę³Øč§£åˆ‡é¢ęˆ–č€…åˆ«ēš„ę–¹å¼åœØDAOå±‚čæ›č”Œåˆ‡ę¢é€‰ę‹©ć€‚ +čæ™é“é¢˜ē”Ÿęˆęˆ–č‡Ŗå·±å·²ē»å®žēŽ°čæ‡å¤šę¬”ļ¼Œå°±ę²”ęœ‰å†é‡ę–°å†™ä»£ē ļ¼Œčæ™é‡Œä½æē”Øä¹‹å‰ēš„äø€äøŖdemoļ¼šę²”ęœ‰ä½æē”Øę³Øč§£åŽ»åˆ‡ę¢ä½æē”Øļ¼Œå› äøŗčÆ„demoä¼šē»“åˆspringbatchåšę‰¹å¤„ē†ć€‚ęÆäøŖä»»åŠ”ä¼šåÆåŠØå¤šäøŖēŗæēØ‹ļ¼ŒęÆäøŖēŗæēØ‹ä¼šä½æē”ØäøåŒēš„ę•°ę®ęŗļ¼Œč¾¾åˆ°åŠØę€åˆ‡ę¢ēš„ē›®ēš„ć€‚ +https://github.com/zengqi826/multi_tenant_springbatch_demo/tree/25376327208028edc93b62119aa23d470753370b From 12030e7cc13b962ff6b458c12d8772f76fb47d02 Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Wed, 4 Aug 2021 17:22:09 +0800 Subject: [PATCH 21/42] =?UTF-8?q?week06=20=E5=BF=85=E5=81=9A=E9=A2=9810=20?= =?UTF-8?q?=E8=AF=BB=E5=86=99=E5=88=86=E7=A6=BB=20-=20=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E6=A1=86=E6=9E=B6=E7=89=88=E6=9C=AC=202.0:=20?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=BD=BF=E7=94=A8shardingSphere=20jdbc?= =?UTF-8?q?=E3=80=82=20=E6=B3=A8=E6=84=8Fspringboot=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=EF=BC=8C=E5=A6=82=E6=9E=9C=E6=98=AF2.4?= =?UTF-8?q?=E5=8F=8A=E4=BB=A5=E4=B8=8A=E7=89=88=E6=9C=AC=20=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E9=85=8D=E7=BD=AEcommon=E6=95=B0=E6=8D=AE=E6=BA=90=20?= =?UTF-8?q?https://github.com/apache/shardingsphere/issues/8299?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Homework07ShardingSphereApplication.java | 13 ++++++ .../model/Student.java | 28 +++++++++++++ .../repository/StudentRepository.java | 13 ++++++ .../src/main/resources/application.properties | 42 +++++++++++++++++++ ...ework07ShardingSphereApplicationTests.java | 33 +++++++++++++++ 5 files changed, 129 insertions(+) create mode 100644 06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/Homework07ShardingSphereApplication.java create mode 100644 06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/model/Student.java create mode 100644 06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/repository/StudentRepository.java create mode 100644 06db/homework07-shardingSphere/src/main/resources/application.properties create mode 100644 06db/homework07-shardingSphere/src/test/java/com/example/homework07shardingsphere/Homework07ShardingSphereApplicationTests.java diff --git a/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/Homework07ShardingSphereApplication.java b/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/Homework07ShardingSphereApplication.java new file mode 100644 index 00000000..87e0af74 --- /dev/null +++ b/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/Homework07ShardingSphereApplication.java @@ -0,0 +1,13 @@ +package com.example.homework07shardingsphere; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class Homework07ShardingSphereApplication { + + public static void main(String[] args) { + SpringApplication.run(Homework07ShardingSphereApplication.class, args); + } + +} diff --git a/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/model/Student.java b/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/model/Student.java new file mode 100644 index 00000000..59844553 --- /dev/null +++ b/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/model/Student.java @@ -0,0 +1,28 @@ +package com.example.homework07shardingsphere.model; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; + +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + +/** + * Student + * + * @author zengqi + * @date 2021/8/3 16:54 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@ToString +@Entity +@Table(name = "student") +public class Student { + @Id + private int id; + private String name; +} diff --git a/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/repository/StudentRepository.java b/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/repository/StudentRepository.java new file mode 100644 index 00000000..e9d10c16 --- /dev/null +++ b/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/repository/StudentRepository.java @@ -0,0 +1,13 @@ +package com.example.homework07shardingsphere.repository; + +import com.example.homework07shardingsphere.model.Student; +import org.springframework.data.jpa.repository.JpaRepository; + +/** + * repository + * + * @author zengqi + * @date 2021/8/3 16:55 + */ +public interface StudentRepository extends JpaRepository { +} diff --git a/06db/homework07-shardingSphere/src/main/resources/application.properties b/06db/homework07-shardingSphere/src/main/resources/application.properties new file mode 100644 index 00000000..499cadea --- /dev/null +++ b/06db/homework07-shardingSphere/src/main/resources/application.properties @@ -0,0 +1,42 @@ + +spring.shardingsphere.datasource.common.type=com.zaxxer.hikari.HikariDataSource +spring.shardingsphere.datasource.common.driver-class-name=com.mysql.jdbc.Driver +#spring.shardingsphere.datasource.common.jdbc-url=jdbc:mysql://localhost:3306/ds0?characterEncoding=utf8&serverTimezone\ +# =Asia/Shanghai&rewriteBatchedStatements=true +spring.shardingsphere.datasource.common.username=root +spring.shardingsphere.datasource.common.password=1234 +spring.shardingsphere.props.sql-show=true +# \u914D\u7F6E\u771F\u5B9E\u6570\u636E\u6E90 +spring.shardingsphere.datasource.names=ds0,ds1,ds2 +spring.datasource.url= + +# \u914D\u7F6E\u7B2C 1 \u4E2A\u6570\u636E\u6E90 +spring.shardingsphere.datasource.ds0.type=com.zaxxer.hikari.HikariDataSource +spring.shardingsphere.datasource.ds0.driver-class-name=com.mysql.jdbc.Driver +spring.shardingsphere.datasource.ds0.jdbc-url=jdbc:mysql://localhost:3306/ds0?characterEncoding=utf8&serverTimezone\ + =Asia/Shanghai&rewriteBatchedStatements=true + +spring.shardingsphere.datasource.ds0.username=root +spring.shardingsphere.datasource.ds0.password=1234 +# \u914D\u7F6E\u7B2C 2 \u4E2A\u6570\u636E\u6E90 +spring.shardingsphere.datasource.ds1.type=com.zaxxer.hikari.HikariDataSource +spring.shardingsphere.datasource.ds1.driver-class-name=com.mysql.jdbc.Driver +spring.shardingsphere.datasource.ds1.jdbc-url=jdbc:mysql://localhost:3306/ds1?characterEncoding=utf8&serverTimezone\ + =Asia/Shanghai&rewriteBatchedStatements=true +spring.shardingsphere.datasource.ds1.username=root +spring.shardingsphere.datasource.ds1.password=1234 +# \u914D\u7F6E\u7B2C 3 \u4E2A\u6570\u636E\u6E90 +spring.shardingsphere.datasource.ds2.type=com.zaxxer.hikari.HikariDataSource +spring.shardingsphere.datasource.ds2.driver-class-name=com.mysql.jdbc.Driver +spring.shardingsphere.datasource.ds2.jdbc-url=jdbc:mysql://localhost:3306/ds2?characterEncoding=utf8&serverTimezone\ + =Asia/Shanghai&rewriteBatchedStatements=true +spring.shardingsphere.datasource.ds2.username=root +spring.shardingsphere.datasource.ds2.password=1234 +spring.shardingsphere.rules.readwrite-splitting.data-sources..write-data-source-name=ds0 +spring.shardingsphere.rules.readwrite-splitting.data-sources..read-data-source-names=ds1,ds2 +spring.shardingsphere.rules.readwrite-splitting.data-sources..load-balancer-name=round-robin +# \u8D1F\u8F7D\u5747\u8861\u7B97\u6CD5\u914D\u7F6E +spring.shardingsphere.rules.readwrite-splitting.load-balancers..type=ROUND_ROBIN +spring.shardingsphere.rules.readwrite-splitting.load-balancers..props.xxx=0 +# +#spring.main.allow-bean-definition-overriding=true \ No newline at end of file diff --git a/06db/homework07-shardingSphere/src/test/java/com/example/homework07shardingsphere/Homework07ShardingSphereApplicationTests.java b/06db/homework07-shardingSphere/src/test/java/com/example/homework07shardingsphere/Homework07ShardingSphereApplicationTests.java new file mode 100644 index 00000000..5c543820 --- /dev/null +++ b/06db/homework07-shardingSphere/src/test/java/com/example/homework07shardingsphere/Homework07ShardingSphereApplicationTests.java @@ -0,0 +1,33 @@ +package com.example.homework07shardingsphere; + +import com.example.homework07shardingsphere.model.Student; +import com.example.homework07shardingsphere.repository.StudentRepository; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import java.util.Optional; + +@SpringBootTest +class Homework07ShardingSphereApplicationTests { + @Autowired + StudentRepository studentRepository; + @Test + void contextLoads() { + } + + @Test + void writeTest() { + Student student = new Student(1,"zq"); + Student studentResult = studentRepository.save(student); + System.out.println("ę’å…„ę•°ę®ļ¼š" + studentResult); + } + @Test + void selectTest() { + Optional Student1 = studentRepository.findById(1); + System.out.println("ęŸ„čÆ¢ę•°ę®ļ¼š" + Student1.get()); + Optional Student2 = studentRepository.findById(1); + System.out.println("ęŸ„čÆ¢ę•°ę®ļ¼š" + Student2.get()); + } + +} From f1bd701e97c2d56fa40b75cbd9d2dd05ab83dea3 Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Tue, 3 Aug 2021 16:10:45 +0800 Subject: [PATCH 22/42] =?UTF-8?q?week06=20=E5=BF=85=E5=81=9A=E9=A2=989=20?= =?UTF-8?q?=E8=AF=BB=E5=86=99=E5=88=86=E7=A6=BB=20-=20=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E6=95=B0=E6=8D=AE=E6=BA=90=E7=89=88=E6=9C=AC?= =?UTF-8?q?=201.0=EF=BC=9A=20=E5=9F=BA=E6=9C=AC=E5=8E=9F=E7=90=86=E4=B8=BA?= =?UTF-8?q?=E4=BD=BF=E7=94=A8ThreadLoacal=E5=AF=B9=E5=A4=9A=E4=B8=AA?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=BA=90=E8=BF=9B=E8=A1=8C=E6=8C=81=E6=9C=89?= =?UTF-8?q?=EF=BC=8C=E5=86=8D=E9=80=9A=E8=BF=87=E6=B3=A8=E8=A7=A3=E5=88=87?= =?UTF-8?q?=E9=9D=A2=E6=88=96=E8=80=85=E5=88=AB=E7=9A=84=E6=96=B9=E5=BC=8F?= =?UTF-8?q?=E5=9C=A8DAO=E5=B1=82=E8=BF=9B=E8=A1=8C=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E3=80=82=20=E8=BF=99=E9=81=93=E9=A2=98?= =?UTF-8?q?=E7=94=9F=E6=88=90=E6=88=96=E8=87=AA=E5=B7=B1=E5=B7=B2=E7=BB=8F?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E8=BF=87=E5=A4=9A=E6=AC=A1=EF=BC=8C=E5=B0=B1?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E5=86=8D=E9=87=8D=E6=96=B0=E5=86=99=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=EF=BC=8C=E8=BF=99=E9=87=8C=E4=BD=BF=E7=94=A8=E5=90=8C?= =?UTF-8?q?=E4=B8=80github=E4=B8=AD=E8=87=AA=E5=B7=B1=E5=86=99=E7=9A=84?= =?UTF-8?q?=E4=B8=80=E4=B8=AAdemo=EF=BC=9A=E6=B2=A1=E6=9C=89=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E6=B3=A8=E8=A7=A3=E5=8E=BB=E5=88=87=E6=8D=A2=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=EF=BC=88=E7=94=9F=E4=BA=A7=E9=A1=B9=E7=9B=AE=E6=9C=89?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E5=88=87=E9=9D=A2+=E6=B3=A8=E8=A7=A3?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E4=BD=BF=E7=94=A8=E4=B8=8D=E5=90=8C=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=EF=BC=89=EF=BC=8C=E5=9B=A0=E4=B8=BA=E8=AF=A5?= =?UTF-8?q?demo=E4=BC=9A=E7=BB=93=E5=90=88springbatch=E5=81=9A=E6=89=B9?= =?UTF-8?q?=E5=A4=84=E7=90=86=EF=BC=9A=E6=AF=8F=E4=B8=AA=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E4=BC=9A=E5=90=AF=E5=8A=A8=E5=A4=9A=E4=B8=AA=E7=BA=BF=E7=A8=8B?= =?UTF-8?q?=EF=BC=8C=E6=AF=8F=E4=B8=AA=E7=BA=BF=E7=A8=8B=E4=BC=9A=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E4=B8=8D=E5=90=8C=E7=9A=84=E6=95=B0=E6=8D=AE=E6=BA=90?= =?UTF-8?q?=EF=BC=8C=E8=BE=BE=E5=88=B0=E5=8A=A8=E6=80=81=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E7=9A=84=E7=9B=AE=E7=9A=84=E3=80=82=E8=AF=A6=E6=83=85=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E5=9C=A8=EF=BC=9A=20https://github.com/zengqi826/mult?= =?UTF-8?q?i=5Ftenant=5Fspringbatch=5Fdemo/tree/25376327208028edc93b62119a?= =?UTF-8?q?a23d470753370b?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 06db/homework07/HELP.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 06db/homework07/HELP.md diff --git a/06db/homework07/HELP.md b/06db/homework07/HELP.md new file mode 100644 index 00000000..f8c89ce8 --- /dev/null +++ b/06db/homework07/HELP.md @@ -0,0 +1,4 @@ +9.ļ¼ˆåæ…åšļ¼‰čÆ»å†™åˆ†ē¦» - åŠØę€åˆ‡ę¢ę•°ę®ęŗē‰ˆęœ¬ 1.0: +åŸŗęœ¬åŽŸē†äøŗä½æē”ØThreadLoacalåÆ¹å¤šäøŖę•°ę®ęŗčæ›č”ŒęŒęœ‰ļ¼Œå†é€ščæ‡ę³Øč§£åˆ‡é¢ęˆ–č€…åˆ«ēš„ę–¹å¼åœØDAOå±‚čæ›č”Œåˆ‡ę¢é€‰ę‹©ć€‚ +čæ™é“é¢˜ē”Ÿęˆęˆ–č‡Ŗå·±å·²ē»å®žēŽ°čæ‡å¤šę¬”ļ¼Œå°±ę²”ęœ‰å†é‡ę–°å†™ä»£ē ļ¼Œčæ™é‡Œä½æē”Øä¹‹å‰ēš„äø€äøŖdemoļ¼šę²”ęœ‰ä½æē”Øę³Øč§£åŽ»åˆ‡ę¢ä½æē”Øļ¼Œå› äøŗčÆ„demoä¼šē»“åˆspringbatchåšę‰¹å¤„ē†ć€‚ęÆäøŖä»»åŠ”ä¼šåÆåŠØå¤šäøŖēŗæēØ‹ļ¼ŒęÆäøŖēŗæēØ‹ä¼šä½æē”ØäøåŒēš„ę•°ę®ęŗļ¼Œč¾¾åˆ°åŠØę€åˆ‡ę¢ēš„ē›®ēš„ć€‚ +https://github.com/zengqi826/multi_tenant_springbatch_demo/tree/25376327208028edc93b62119aa23d470753370b From 6cf4ab61ade5bbf1dbe203329fa157038f5bd163 Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Wed, 4 Aug 2021 17:22:09 +0800 Subject: [PATCH 23/42] =?UTF-8?q?week06=20=E5=BF=85=E5=81=9A=E9=A2=9810=20?= =?UTF-8?q?=E8=AF=BB=E5=86=99=E5=88=86=E7=A6=BB=20-=20=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E6=A1=86=E6=9E=B6=E7=89=88=E6=9C=AC=202.0:=20?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=BD=BF=E7=94=A8shardingSphere=20jdbc?= =?UTF-8?q?=E3=80=82=20=E6=B3=A8=E6=84=8Fspringboot=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=EF=BC=8C=E5=A6=82=E6=9E=9C=E6=98=AF2.4?= =?UTF-8?q?=E5=8F=8A=E4=BB=A5=E4=B8=8A=E7=89=88=E6=9C=AC=20=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E9=85=8D=E7=BD=AEcommon=E6=95=B0=E6=8D=AE=E6=BA=90=20?= =?UTF-8?q?https://github.com/apache/shardingsphere/issues/8299?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Homework07ShardingSphereApplication.java | 13 ++++++ .../model/Student.java | 28 +++++++++++++ .../repository/StudentRepository.java | 13 ++++++ .../src/main/resources/application.properties | 42 +++++++++++++++++++ ...ework07ShardingSphereApplicationTests.java | 33 +++++++++++++++ 5 files changed, 129 insertions(+) create mode 100644 06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/Homework07ShardingSphereApplication.java create mode 100644 06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/model/Student.java create mode 100644 06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/repository/StudentRepository.java create mode 100644 06db/homework07-shardingSphere/src/main/resources/application.properties create mode 100644 06db/homework07-shardingSphere/src/test/java/com/example/homework07shardingsphere/Homework07ShardingSphereApplicationTests.java diff --git a/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/Homework07ShardingSphereApplication.java b/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/Homework07ShardingSphereApplication.java new file mode 100644 index 00000000..87e0af74 --- /dev/null +++ b/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/Homework07ShardingSphereApplication.java @@ -0,0 +1,13 @@ +package com.example.homework07shardingsphere; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class Homework07ShardingSphereApplication { + + public static void main(String[] args) { + SpringApplication.run(Homework07ShardingSphereApplication.class, args); + } + +} diff --git a/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/model/Student.java b/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/model/Student.java new file mode 100644 index 00000000..59844553 --- /dev/null +++ b/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/model/Student.java @@ -0,0 +1,28 @@ +package com.example.homework07shardingsphere.model; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; + +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + +/** + * Student + * + * @author zengqi + * @date 2021/8/3 16:54 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@ToString +@Entity +@Table(name = "student") +public class Student { + @Id + private int id; + private String name; +} diff --git a/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/repository/StudentRepository.java b/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/repository/StudentRepository.java new file mode 100644 index 00000000..e9d10c16 --- /dev/null +++ b/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/repository/StudentRepository.java @@ -0,0 +1,13 @@ +package com.example.homework07shardingsphere.repository; + +import com.example.homework07shardingsphere.model.Student; +import org.springframework.data.jpa.repository.JpaRepository; + +/** + * repository + * + * @author zengqi + * @date 2021/8/3 16:55 + */ +public interface StudentRepository extends JpaRepository { +} diff --git a/06db/homework07-shardingSphere/src/main/resources/application.properties b/06db/homework07-shardingSphere/src/main/resources/application.properties new file mode 100644 index 00000000..499cadea --- /dev/null +++ b/06db/homework07-shardingSphere/src/main/resources/application.properties @@ -0,0 +1,42 @@ + +spring.shardingsphere.datasource.common.type=com.zaxxer.hikari.HikariDataSource +spring.shardingsphere.datasource.common.driver-class-name=com.mysql.jdbc.Driver +#spring.shardingsphere.datasource.common.jdbc-url=jdbc:mysql://localhost:3306/ds0?characterEncoding=utf8&serverTimezone\ +# =Asia/Shanghai&rewriteBatchedStatements=true +spring.shardingsphere.datasource.common.username=root +spring.shardingsphere.datasource.common.password=1234 +spring.shardingsphere.props.sql-show=true +# \u914D\u7F6E\u771F\u5B9E\u6570\u636E\u6E90 +spring.shardingsphere.datasource.names=ds0,ds1,ds2 +spring.datasource.url= + +# \u914D\u7F6E\u7B2C 1 \u4E2A\u6570\u636E\u6E90 +spring.shardingsphere.datasource.ds0.type=com.zaxxer.hikari.HikariDataSource +spring.shardingsphere.datasource.ds0.driver-class-name=com.mysql.jdbc.Driver +spring.shardingsphere.datasource.ds0.jdbc-url=jdbc:mysql://localhost:3306/ds0?characterEncoding=utf8&serverTimezone\ + =Asia/Shanghai&rewriteBatchedStatements=true + +spring.shardingsphere.datasource.ds0.username=root +spring.shardingsphere.datasource.ds0.password=1234 +# \u914D\u7F6E\u7B2C 2 \u4E2A\u6570\u636E\u6E90 +spring.shardingsphere.datasource.ds1.type=com.zaxxer.hikari.HikariDataSource +spring.shardingsphere.datasource.ds1.driver-class-name=com.mysql.jdbc.Driver +spring.shardingsphere.datasource.ds1.jdbc-url=jdbc:mysql://localhost:3306/ds1?characterEncoding=utf8&serverTimezone\ + =Asia/Shanghai&rewriteBatchedStatements=true +spring.shardingsphere.datasource.ds1.username=root +spring.shardingsphere.datasource.ds1.password=1234 +# \u914D\u7F6E\u7B2C 3 \u4E2A\u6570\u636E\u6E90 +spring.shardingsphere.datasource.ds2.type=com.zaxxer.hikari.HikariDataSource +spring.shardingsphere.datasource.ds2.driver-class-name=com.mysql.jdbc.Driver +spring.shardingsphere.datasource.ds2.jdbc-url=jdbc:mysql://localhost:3306/ds2?characterEncoding=utf8&serverTimezone\ + =Asia/Shanghai&rewriteBatchedStatements=true +spring.shardingsphere.datasource.ds2.username=root +spring.shardingsphere.datasource.ds2.password=1234 +spring.shardingsphere.rules.readwrite-splitting.data-sources..write-data-source-name=ds0 +spring.shardingsphere.rules.readwrite-splitting.data-sources..read-data-source-names=ds1,ds2 +spring.shardingsphere.rules.readwrite-splitting.data-sources..load-balancer-name=round-robin +# \u8D1F\u8F7D\u5747\u8861\u7B97\u6CD5\u914D\u7F6E +spring.shardingsphere.rules.readwrite-splitting.load-balancers..type=ROUND_ROBIN +spring.shardingsphere.rules.readwrite-splitting.load-balancers..props.xxx=0 +# +#spring.main.allow-bean-definition-overriding=true \ No newline at end of file diff --git a/06db/homework07-shardingSphere/src/test/java/com/example/homework07shardingsphere/Homework07ShardingSphereApplicationTests.java b/06db/homework07-shardingSphere/src/test/java/com/example/homework07shardingsphere/Homework07ShardingSphereApplicationTests.java new file mode 100644 index 00000000..5c543820 --- /dev/null +++ b/06db/homework07-shardingSphere/src/test/java/com/example/homework07shardingsphere/Homework07ShardingSphereApplicationTests.java @@ -0,0 +1,33 @@ +package com.example.homework07shardingsphere; + +import com.example.homework07shardingsphere.model.Student; +import com.example.homework07shardingsphere.repository.StudentRepository; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import java.util.Optional; + +@SpringBootTest +class Homework07ShardingSphereApplicationTests { + @Autowired + StudentRepository studentRepository; + @Test + void contextLoads() { + } + + @Test + void writeTest() { + Student student = new Student(1,"zq"); + Student studentResult = studentRepository.save(student); + System.out.println("ę’å…„ę•°ę®ļ¼š" + studentResult); + } + @Test + void selectTest() { + Optional Student1 = studentRepository.findById(1); + System.out.println("ęŸ„čÆ¢ę•°ę®ļ¼š" + Student1.get()); + Optional Student2 = studentRepository.findById(1); + System.out.println("ęŸ„čÆ¢ę•°ę®ļ¼š" + Student2.get()); + } + +} From 8a0e69e8028adeb7bd4987f9ea6347a5dd4ebb40 Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Thu, 5 Aug 2021 09:36:44 +0800 Subject: [PATCH 24/42] =?UTF-8?q?=E6=BC=8F=E4=BA=86pom=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E7=9A=84=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 36 ++++++++++++++ 06db/homework07-shardingSphere/pom.xml | 68 ++++++++++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 06db/homework07-shardingSphere/pom.xml diff --git a/.gitignore b/.gitignore index ffbd9f6a..b0599f9a 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,39 @@ target/ build/ .DS_Store +/04fx/homework0502/.gitignore +/04fx/homeworkweek05/.gitignore +/out/production/JavaCourseCodes/java11/.gitignore +/out/production/JavaCourseCodes/java11/src/main/resources/application.properties +/out/production/JavaCourseCodes/homework/Hello.xlass +/out/production/JavaCourseCodes/homework/JVMå†…å­˜ęØ”åž‹.png +/out/production/JavaCourseCodes/homework/JVMå†…å­˜ęØ”åž‹.xmind +/04fx/homework0502/.mvn/wrapper/maven-wrapper.jar +/04fx/homeworkweek05/.mvn/wrapper/maven-wrapper.jar +/06db/homework07/.mvn/wrapper/maven-wrapper.jar +/out/production/JavaCourseCodes/java11/.mvn/wrapper/maven-wrapper.jar +/04fx/homework0502/.mvn/wrapper/maven-wrapper.properties +/04fx/homeworkweek05/.mvn/wrapper/maven-wrapper.properties +/06db/homework07/.mvn/wrapper/maven-wrapper.properties +/out/production/JavaCourseCodes/java11/.mvn/wrapper/maven-wrapper.properties +/04fx/homework0502/.mvn/wrapper/MavenWrapperDownloader.java +/04fx/homeworkweek05/.mvn/wrapper/MavenWrapperDownloader.java +/06db/homework07/.mvn/wrapper/MavenWrapperDownloader.java +/04fx/homework0502/mvnw +/04fx/homeworkweek05/mvnw +/06db/homework07/mvnw +/out/production/JavaCourseCodes/java11/mvnw +/04fx/homework0502/mvnw.cmd +/04fx/homeworkweek05/mvnw.cmd +/06db/homework07/mvnw.cmd +/out/production/JavaCourseCodes/java11/mvnw.cmd +/out/production/JavaCourseCodes/java11/pom.xml +/out/production/JavaCourseCodes/out/production/01jvm/README.md +/out/production/JavaCourseCodes/README.md +/out/production/JavaCourseCodes/homework/Week02.md +/out/production/JavaCourseCodes/out/production/01jvm/ēŽÆå¢ƒå‡†å¤‡.txt +/out/production/JavaCourseCodes/ēŽÆå¢ƒå‡†å¤‡.txt +/04fx/homework0502/.mvn/wrapper/maven-wrapper.jar +/04fx/homeworkweek05/.mvn/wrapper/maven-wrapper.jar +/06db/homework07/.mvn/wrapper/maven-wrapper.jar +/out/production/JavaCourseCodes/java11/.mvn/wrapper/maven-wrapper.jar diff --git a/06db/homework07-shardingSphere/pom.xml b/06db/homework07-shardingSphere/pom.xml new file mode 100644 index 00000000..ee27a147 --- /dev/null +++ b/06db/homework07-shardingSphere/pom.xml @@ -0,0 +1,68 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.5.3 + + + com.example + homework07-shardingSphere + 0.0.1-SNAPSHOT + homework07-shardingSphere + Demo project for Spring Boot + + 1.8 + + + + + + + + + org.apache.shardingsphere + shardingsphere-jdbc-core-spring-boot-starter + 5.0.0-alpha + + + mysql + mysql-connector-java + runtime + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + From 97fffb2f33e0b92935f68eea9268e49ee64d8b57 Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Wed, 11 Aug 2021 17:31:44 +0800 Subject: [PATCH 25/42] =?UTF-8?q?week07=202.=EF=BC=88=E5=BF=85=E5=81=9A?= =?UTF-8?q?=EF=BC=89=E8=AE=BE=E8=AE=A1=E5=AF=B9=E5=89=8D=E9=9D=A2=E7=9A=84?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E8=A1=A8=E6=95=B0=E6=8D=AE=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E6=B0=B4=E5=B9=B3=E5=88=86=E5=BA=93=E5=88=86=E8=A1=A8=EF=BC=8C?= =?UTF-8?q?=E6=8B=86=E5=88=86=202=20=E4=B8=AA=E5=BA=93=EF=BC=8C=E6=AF=8F?= =?UTF-8?q?=E4=B8=AA=E5=BA=93=2016=20=E5=BC=A0=E8=A1=A8=E3=80=82=E5=B9=B6?= =?UTF-8?q?=E5=9C=A8=E6=96=B0=E7=BB=93=E6=9E=84=E5=9C=A8=E6=BC=94=E7=A4=BA?= =?UTF-8?q?=E5=B8=B8=E8=A7=81=E7=9A=84=E5=A2=9E=E5=88=A0=E6=94=B9=E6=9F=A5?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E3=80=82=E4=BB=A3=E7=A0=81=E3=80=81sql=20?= =?UTF-8?q?=E5=92=8C=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=EF=BC=8C=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E5=88=B0=20Github?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sqlå»ŗč”ØčÆ­å„ļ¼šinit.sql proxy é…ē½®ę–‡ä»¶ļ¼š config-sharding.yaml server.yaml å•å…ƒęµ‹čÆ•äø­čæ›č”Œå¢žåˆ ę”¹ęŸ„č®°å½•ļ¼š [INFO ] 2021-08-11 17:26:32.755 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, user_id, status ) VALUES ( 1425388152927371266, 992, 'NORAMAL' ) [INFO ] 2021-08-11 17:26:32.755 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) [INFO ] 2021-08-11 17:26:32.756 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: INSERT INTO t_order_2 ( order_id, user_id, status ) VALUES (1425388152927371266, 992, 'NORAMAL') [INFO ] 2021-08-11 17:26:32.757 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.757 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) [INFO ] 2021-08-11 17:26:32.757 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.758 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, user_id, status ) VALUES ( 1425388152927371267, 993, 'NORAMAL' ) [INFO ] 2021-08-11 17:26:32.758 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) [INFO ] 2021-08-11 17:26:32.758 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: INSERT INTO t_order_3 ( order_id, user_id, status ) VALUES (1425388152927371267, 993, 'NORAMAL') [INFO ] 2021-08-11 17:26:32.760 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.760 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) [INFO ] 2021-08-11 17:26:32.760 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.761 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, user_id, status ) VALUES ( 1425388152927371268, 994, 'NORAMAL' ) [INFO ] 2021-08-11 17:26:32.768 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) [INFO ] 2021-08-11 17:26:32.768 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: INSERT INTO t_order_4 ( order_id, user_id, status ) VALUES (1425388152927371268, 994, 'NORAMAL') [INFO ] 2021-08-11 17:26:32.770 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.770 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) [INFO ] 2021-08-11 17:26:32.770 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.770 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, user_id, status ) VALUES ( 1425388152990285825, 995, 'NORAMAL' ) [INFO ] 2021-08-11 17:26:32.771 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) [INFO ] 2021-08-11 17:26:32.771 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: INSERT INTO t_order_1 ( order_id, user_id, status ) VALUES (1425388152990285825, 995, 'NORAMAL') [INFO ] 2021-08-11 17:26:32.773 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.773 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) [INFO ] 2021-08-11 17:26:32.773 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.773 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, user_id, status ) VALUES ( 1425388152990285826, 996, 'NORAMAL' ) [INFO ] 2021-08-11 17:26:32.773 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) [INFO ] 2021-08-11 17:26:32.773 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: INSERT INTO t_order_2 ( order_id, user_id, status ) VALUES (1425388152990285826, 996, 'NORAMAL') [INFO ] 2021-08-11 17:26:32.775 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.775 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) [INFO ] 2021-08-11 17:26:32.775 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.776 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, user_id, status ) VALUES ( 1425388152990285827, 997, 'NORAMAL' ) [INFO ] 2021-08-11 17:26:32.776 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) [INFO ] 2021-08-11 17:26:32.776 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: INSERT INTO t_order_3 ( order_id, user_id, status ) VALUES (1425388152990285827, 997, 'NORAMAL') [INFO ] 2021-08-11 17:26:32.778 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.784 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) [INFO ] 2021-08-11 17:26:32.785 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.786 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, user_id, status ) VALUES ( 1425388153057394690, 998, 'NORAMAL' ) [INFO ] 2021-08-11 17:26:32.786 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) [INFO ] 2021-08-11 17:26:32.787 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: INSERT INTO t_order_2 ( order_id, user_id, status ) VALUES (1425388153057394690, 998, 'NORAMAL') [INFO ] 2021-08-11 17:26:32.789 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.789 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) [INFO ] 2021-08-11 17:26:32.789 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.789 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, user_id, status ) VALUES ( 1425388153057394691, 999, 'NORAMAL' ) [INFO ] 2021-08-11 17:26:32.789 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) [INFO ] 2021-08-11 17:26:32.790 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: INSERT INTO t_order_3 ( order_id, user_id, status ) VALUES (1425388153057394691, 999, 'NORAMAL') [INFO ] 2021-08-11 17:26:32.791 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.791 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) [INFO ] 2021-08-11 17:26:32.791 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.792 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, user_id, status ) VALUES ( 1425388153057394692, 1000, 'NORAMAL' ) [INFO ] 2021-08-11 17:26:32.792 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) [INFO ] 2021-08-11 17:26:32.792 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: INSERT INTO t_order_4 ( order_id, user_id, status ) VALUES (1425388153057394692, 1000, 'NORAMAL') [INFO ] 2021-08-11 17:26:32.819 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT order_id,user_id,status FROM t_order [INFO ] 2021-08-11 17:26:32.820 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) [INFO ] 2021-08-11 17:26:32.821 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_0 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.821 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_1 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.821 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_2 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.821 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_3 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.821 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_4 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.821 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_5 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.821 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_6 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.821 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_7 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_8 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_9 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_10 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_11 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_12 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_13 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_14 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_15 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_0 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_1 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_2 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_3 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_4 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_5 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_6 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_7 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.823 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_8 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.823 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_9 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.823 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_10 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.823 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_11 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.823 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_12 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.823 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_13 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.823 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_14 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.823 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_15 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.891 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.891 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) [INFO ] 2021-08-11 17:26:32.893 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.894 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: UPDATE t_order SET status='updated' WHERE order_id=1425388126469701633 [INFO ] 2021-08-11 17:26:32.894 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLUpdateStatement(orderBy=Optional.empty, limit=Optional.empty) [INFO ] 2021-08-11 17:26:32.894 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: UPDATE t_order_1 SET status='updated' WHERE order_id=1425388126469701633 [INFO ] 2021-08-11 17:26:32.894 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: UPDATE t_order_1 SET status='updated' WHERE order_id=1425388126469701633 [INFO ] 2021-08-11 17:26:32.902 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.902 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) [INFO ] 2021-08-11 17:26:32.902 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.903 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: DELETE FROM t_order [INFO ] 2021-08-11 17:26:32.906 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLDeleteStatement(orderBy=Optional.empty, limit=Optional.empty) [INFO ] 2021-08-11 17:26:32.906 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_0 [INFO ] 2021-08-11 17:26:32.906 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_1 [INFO ] 2021-08-11 17:26:32.906 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_2 [INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_3 [INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_4 [INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_5 [INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_6 [INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_7 [INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_8 [INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_9 [INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_10 [INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_11 [INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_12 [INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_13 [INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_14 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_15 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_0 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_1 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_2 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_3 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_4 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_5 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_6 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_7 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_8 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_9 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_10 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_11 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_12 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_13 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_14 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_15 --- 06db/homework0801/.gitignore | 33 ++ .../.mvn/wrapper/MavenWrapperDownloader.java | 118 +++++++ .../.mvn/wrapper/maven-wrapper.jar | Bin 0 -> 50710 bytes .../.mvn/wrapper/maven-wrapper.properties | 2 + 06db/homework0801/config-sharding.yaml | 239 ++++++++++++++ 06db/homework0801/init.sql | 66 ++++ 06db/homework0801/mvnw | 310 ++++++++++++++++++ 06db/homework0801/mvnw.cmd | 182 ++++++++++ 06db/homework0801/pom.xml | 74 +++++ 06db/homework0801/server.yaml | 24 ++ .../homework0801/Homework0801Application.java | 17 + .../com/example/homework0801/model/Order.java | 49 +++ .../homework0801/repository/OrderMapper.java | 15 + .../src/main/resources/application.properties | 47 +++ .../src/main/resources/application.yml | 21 ++ .../src/main/resources/mapper/OrderMapper.xml | 7 + .../Homework0801ApplicationTests.java | 56 ++++ 17 files changed, 1260 insertions(+) create mode 100644 06db/homework0801/.gitignore create mode 100644 06db/homework0801/.mvn/wrapper/MavenWrapperDownloader.java create mode 100644 06db/homework0801/.mvn/wrapper/maven-wrapper.jar create mode 100644 06db/homework0801/.mvn/wrapper/maven-wrapper.properties create mode 100644 06db/homework0801/config-sharding.yaml create mode 100644 06db/homework0801/init.sql create mode 100644 06db/homework0801/mvnw create mode 100644 06db/homework0801/mvnw.cmd create mode 100644 06db/homework0801/pom.xml create mode 100644 06db/homework0801/server.yaml create mode 100644 06db/homework0801/src/main/java/com/example/homework0801/Homework0801Application.java create mode 100644 06db/homework0801/src/main/java/com/example/homework0801/model/Order.java create mode 100644 06db/homework0801/src/main/java/com/example/homework0801/repository/OrderMapper.java create mode 100644 06db/homework0801/src/main/resources/application.properties create mode 100644 06db/homework0801/src/main/resources/application.yml create mode 100644 06db/homework0801/src/main/resources/mapper/OrderMapper.xml create mode 100644 06db/homework0801/src/test/java/com/example/homework0801/Homework0801ApplicationTests.java diff --git a/06db/homework0801/.gitignore b/06db/homework0801/.gitignore new file mode 100644 index 00000000..bfeebfbb --- /dev/null +++ b/06db/homework0801/.gitignore @@ -0,0 +1,33 @@ +homework0801.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/06db/homework0801/.mvn/wrapper/MavenWrapperDownloader.java b/06db/homework0801/.mvn/wrapper/MavenWrapperDownloader.java new file mode 100644 index 00000000..a45eb6ba --- /dev/null +++ b/06db/homework0801/.mvn/wrapper/MavenWrapperDownloader.java @@ -0,0 +1,118 @@ +/* + * Copyright 2007-present the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import java.net.*; +import java.io.*; +import java.nio.channels.*; +import java.util.Properties; + +public class MavenWrapperDownloader { + + private static final String WRAPPER_VERSION = "0.5.6"; + /** + * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. + */ + private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" + + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar"; + + /** + * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to + * use instead of the default one. + */ + private static final String MAVEN_WRAPPER_PROPERTIES_PATH = + ".mvn/wrapper/maven-wrapper.properties"; + + /** + * Path where the maven-wrapper.jar will be saved to. + */ + private static final String MAVEN_WRAPPER_JAR_PATH = + ".mvn/wrapper/maven-wrapper.jar"; + + /** + * Name of the property which should be used to override the default download url for the wrapper. + */ + private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; + + public static void main(String args[]) { + System.out.println("- Downloader started"); + File baseDirectory = new File(args[0]); + System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); + + // If the maven-wrapper.properties exists, read it and check if it contains a custom + // wrapperUrl parameter. + File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); + String url = DEFAULT_DOWNLOAD_URL; + if (mavenWrapperPropertyFile.exists()) { + FileInputStream mavenWrapperPropertyFileInputStream = null; + try { + mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); + Properties mavenWrapperProperties = new Properties(); + mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); + url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); + } catch (IOException e) { + System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); + } finally { + try { + if (mavenWrapperPropertyFileInputStream != null) { + mavenWrapperPropertyFileInputStream.close(); + } + } catch (IOException e) { + // Ignore ... + } + } + } + System.out.println("- Downloading from: " + url); + + File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); + if (!outputFile.getParentFile().exists()) { + if (!outputFile.getParentFile().mkdirs()) { + System.out.println( + "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); + } + } + System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); + try { + downloadFileFromURL(url, outputFile); + System.out.println("Done"); + System.exit(0); + } catch (Throwable e) { + System.out.println("- Error downloading"); + e.printStackTrace(); + System.exit(1); + } + } + + private static void downloadFileFromURL(String urlString, File destination) throws Exception { + if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { + String username = System.getenv("MVNW_USERNAME"); + char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); + Authenticator.setDefault(new Authenticator() { + @Override + protected PasswordAuthentication getPasswordAuthentication() { + return new PasswordAuthentication(username, password); + } + }); + } + URL website = new URL(urlString); + ReadableByteChannel rbc; + rbc = Channels.newChannel(website.openStream()); + FileOutputStream fos = new FileOutputStream(destination); + fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); + fos.close(); + rbc.close(); + } + +} diff --git a/06db/homework0801/.mvn/wrapper/maven-wrapper.jar b/06db/homework0801/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..2cc7d4a55c0cd0092912bf49ae38b3a9e3fd0054 GIT binary patch literal 50710 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 EfAhh=DF6Tf literal 0 HcmV?d00001 diff --git a/06db/homework0801/.mvn/wrapper/maven-wrapper.properties b/06db/homework0801/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 00000000..ffdc10e5 --- /dev/null +++ b/06db/homework0801/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,2 @@ +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.1/apache-maven-3.8.1-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar diff --git a/06db/homework0801/config-sharding.yaml b/06db/homework0801/config-sharding.yaml new file mode 100644 index 00000000..0661cdc2 --- /dev/null +++ b/06db/homework0801/config-sharding.yaml @@ -0,0 +1,239 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +###################################################################################################### +# +# Here you can configure the rules for the proxy. +# This example is configuration of sharding rule. +# +###################################################################################################### +# +#schemaName: sharding_db +# +#dataSources: +# ds_0: +# url: jdbc:postgresql://127.0.0.1:5432/demo_ds_0?serverTimezone=UTC&useSSL=false +# username: postgres +# password: postgres +# connectionTimeoutMilliseconds: 30000 +# idleTimeoutMilliseconds: 60000 +# maxLifetimeMilliseconds: 1800000 +# maxPoolSize: 50 +# minPoolSize: 1 +# maintenanceIntervalMilliseconds: 30000 +# ds_1: +# url: jdbc:postgresql://127.0.0.1:5432/demo_ds_1?serverTimezone=UTC&useSSL=false +# username: postgres +# password: postgres +# connectionTimeoutMilliseconds: 30000 +# idleTimeoutMilliseconds: 60000 +# maxLifetimeMilliseconds: 1800000 +# maxPoolSize: 50 +# minPoolSize: 1 +# maintenanceIntervalMilliseconds: 30000 +# +#rules: +#- !SHARDING +# tables: +# t_order: +# actualDataNodes: ds_${0..1}.t_order_${0..1} +# tableStrategy: +# standard: +# shardingColumn: order_id +# shardingAlgorithmName: t_order_inline +# keyGenerateStrategy: +# column: order_id +# keyGeneratorName: snowflake +# t_order_item: +# actualDataNodes: ds_${0..1}.t_order_item_${0..1} +# tableStrategy: +# standard: +# shardingColumn: order_id +# shardingAlgorithmName: t_order_item_inline +# keyGenerateStrategy: +# column: order_item_id +# keyGeneratorName: snowflake +# bindingTables: +# - t_order,t_order_item +# defaultDatabaseStrategy: +# standard: +# shardingColumn: user_id +# shardingAlgorithmName: database_inline +# defaultTableStrategy: +# none: +# +# shardingAlgorithms: +# database_inline: +# type: INLINE +# props: +# algorithm-expression: ds_${user_id % 2} +# t_order_inline: +# type: INLINE +# props: +# algorithm-expression: t_order_${order_id % 2} +# t_order_item_inline: +# type: INLINE +# props: +# algorithm-expression: t_order_item_${order_id % 2} +# +# keyGenerators: +# snowflake: +# type: SNOWFLAKE +# props: +# worker-id: 123 + +###################################################################################################### +# +# If you want to connect to MySQL, you should manually copy MySQL driver to lib directory. +# +###################################################################################################### + +#schemaName: sharding_db +# +#dataSources: +# ds_0: +# url: jdbc:mysql://127.0.0.1:3306/demo_ds_0?serverTimezone=UTC&useSSL=false +# username: root +# password: +# connectionTimeoutMilliseconds: 30000 +# idleTimeoutMilliseconds: 60000 +# maxLifetimeMilliseconds: 1800000 +# maxPoolSize: 50 +# minPoolSize: 1 +# maintenanceIntervalMilliseconds: 30000 +# ds_1: +# url: jdbc:mysql://127.0.0.1:3306/demo_ds_1?serverTimezone=UTC&useSSL=false +# username: root +# password: +# connectionTimeoutMilliseconds: 30000 +# idleTimeoutMilliseconds: 60000 +# maxLifetimeMilliseconds: 1800000 +# maxPoolSize: 50 +# minPoolSize: 1 +# maintenanceIntervalMilliseconds: 30000 +# +#rules: +#- !SHARDING +# tables: +# t_order: +# actualDataNodes: ds_${0..1}.t_order_${0..1} +# tableStrategy: +# standard: +# shardingColumn: order_id +# shardingAlgorithmName: t_order_inline +# keyGenerateStrategy: +# column: order_id +# keyGeneratorName: snowflake +# t_order_item: +# actualDataNodes: ds_${0..1}.t_order_item_${0..1} +# tableStrategy: +# standard: +# shardingColumn: order_id +# shardingAlgorithmName: t_order_item_inline +# keyGenerateStrategy: +# column: order_item_id +# keyGeneratorName: snowflake +# bindingTables: +# - t_order,t_order_item +# defaultDatabaseStrategy: +# standard: +# shardingColumn: user_id +# shardingAlgorithmName: database_inline +# defaultTableStrategy: +# none: +# +# shardingAlgorithms: +# database_inline: +# type: INLINE +# props: +# algorithm-expression: ds_${user_id % 2} +# t_order_inline: +# type: INLINE +# props: +# algorithm-expression: t_order_${order_id % 2} +# t_order_item_inline: +# type: INLINE +# props: +# algorithm-expression: t_order_item_${order_id % 2} +# +# keyGenerators: +# snowflake: +# type: SNOWFLAKE +# props: +# worker-id: 123 + + + +schemaName: sharding_db +dataSources: + ds0: + url: jdbc:mysql://localhost:3306/ds0?serverTimezone=Asia/Shanghai&useSSL=false + username: root + password: 1234 + connectionTimeoutMilliseconds: 30000 + idleTimeoutMilliseconds: 60000 + maxLifetimeMilliseconds: 1800000 + maxPoolSize: 5 + minPoolSize: 1 + maintenanceIntervalMilliseconds: 30000 + ds1: + url: jdbc:mysql://localhost:3306/ds1?serverTimezone=Asia/Shanghai&useSSL=false + username: root + password: 1234 + connectionTimeoutMilliseconds: 30000 + idleTimeoutMilliseconds: 60000 + maxLifetimeMilliseconds: 1800000 + maxPoolSize: 5 + minPoolSize: 1 + maintenanceIntervalMilliseconds: 30000 + +rules: + - !SHARDING + tables: + t_order: + actualDataNodes: ds${0..1}.t_order_${0..15} + tableStrategy: + standard: + shardingColumn: order_id + shardingAlgorithmName: t_order_inline + keyGenerateStrategy: + column: order_id + keyGeneratorName: snowflake + bindingTables: + - t_order + defaultDatabaseStrategy: + standard: + shardingColumn: user_id + shardingAlgorithmName: database_inline + defaultTableStrategy: + none: + + shardingAlgorithms: + database_inline: + type: INLINE + props: + algorithm-expression: ds${user_id % 2} + t_order_inline: + type: INLINE + props: + algorithm-expression: t_order_${order_id % 16} + + keyGenerators: + snowflake: + type: SNOWFLAKE + props: + worker-id: 123 diff --git a/06db/homework0801/init.sql b/06db/homework0801/init.sql new file mode 100644 index 00000000..e6c0c72d --- /dev/null +++ b/06db/homework0801/init.sql @@ -0,0 +1,66 @@ +## åˆ†åŗ“åˆ†č”Ø +CREATE TABLE IF NOT EXISTS ds0.t_order_0 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_1 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_2 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_3 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_4 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_5 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_6 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_7 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_8 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_9 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_10 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_11 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_12 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_13 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_14 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_15 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); + +CREATE TABLE IF NOT EXISTS ds1.t_order_0 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_1 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_2 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_3 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_4 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_5 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_6 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_7 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_8 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_9 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_10 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_11 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_12 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_13 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_14 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_15 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); diff --git a/06db/homework0801/mvnw b/06db/homework0801/mvnw new file mode 100644 index 00000000..a16b5431 --- /dev/null +++ b/06db/homework0801/mvnw @@ -0,0 +1,310 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Maven Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "`uname`" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="`/usr/libexec/java_home`" + else + export JAVA_HOME="/Library/Java/Home" + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=`java-config --jre-home` + fi +fi + +if [ -z "$M2_HOME" ] ; then + ## resolve links - $0 may be a link to maven's home + PRG="$0" + + # need this for relative symlinks + while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG="`dirname "$PRG"`/$link" + fi + done + + saveddir=`pwd` + + M2_HOME=`dirname "$PRG"`/.. + + # make it fully qualified + M2_HOME=`cd "$M2_HOME" && pwd` + + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --unix "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$M2_HOME" ] && + M2_HOME="`(cd "$M2_HOME"; pwd)`" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="`which javac`" + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=`which readlink` + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + if $darwin ; then + javaHome="`dirname \"$javaExecutable\"`" + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + else + javaExecutable="`readlink -f \"$javaExecutable\"`" + fi + javaHome="`dirname \"$javaExecutable\"`" + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="`which java`" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=`cd "$wdir/.."; pwd` + fi + # end of workaround + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' < "$1")" + fi +} + +BASE_DIR=`find_maven_basedir "$(pwd)"` +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found .mvn/wrapper/maven-wrapper.jar" + fi +else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + fi + if [ -n "$MVNW_REPOURL" ]; then + jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + fi + while IFS="=" read key value; do + case "$key" in (wrapperUrl) jarUrl="$value"; break ;; + esac + done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Downloading from: $jarUrl" + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + fi + + if command -v wget > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found wget ... using wget" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget "$jarUrl" -O "$wrapperJarPath" + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found curl ... using curl" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl -o "$wrapperJarPath" "$jarUrl" -f + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + fi + + else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Falling back to using Java to download" + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaClass=`cygpath --path --windows "$javaClass"` + fi + if [ -e "$javaClass" ]; then + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Compiling MavenWrapperDownloader.java ..." + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Running MavenWrapperDownloader.java ..." + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +if [ "$MVNW_VERBOSE" = true ]; then + echo $MAVEN_PROJECTBASEDIR +fi +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --path --windows "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/06db/homework0801/mvnw.cmd b/06db/homework0801/mvnw.cmd new file mode 100644 index 00000000..c8d43372 --- /dev/null +++ b/06db/homework0801/mvnw.cmd @@ -0,0 +1,182 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Maven Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" +if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + +FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" +if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%" == "on" pause + +if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% + +exit /B %ERROR_CODE% diff --git a/06db/homework0801/pom.xml b/06db/homework0801/pom.xml new file mode 100644 index 00000000..0a76ec28 --- /dev/null +++ b/06db/homework0801/pom.xml @@ -0,0 +1,74 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.2.1.RELEASE + + + com.example + homework0801 + 0.0.1-SNAPSHOT + homework0801 + Demo project for Spring Boot + + 1.8 + + + + + + + + + + + + + com.baomidou + mybatis-plus-boot-starter + 3.3.1 + + + com.baomidou + mybatis-plus-generator + + + + + mysql + mysql-connector-java + runtime + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/06db/homework0801/server.yaml b/06db/homework0801/server.yaml new file mode 100644 index 00000000..8bce2429 --- /dev/null +++ b/06db/homework0801/server.yaml @@ -0,0 +1,24 @@ + +rules: + - !AUTHORITY + users: + - root@%:root + - sharding@:sharding + provider: + type: NATIVE + +props: + max-connections-size-per-query: 1 + executor-size: 16 # Infinite by default. + proxy-frontend-flush-threshold: 128 # The default value is 128. + # LOCAL: Proxy will run with LOCAL transaction. + # XA: Proxy will run with XA transaction. + # BASE: Proxy will run with B.A.S.E transaction. + proxy-transaction-type: LOCAL + xa-transaction-manager-type: Atomikos + proxy-opentracing-enabled: false + proxy-hint-enabled: false + query-with-cipher-column: true + sql-show: true + check-table-metadata-enabled: false + lock-wait-timeout-milliseconds: 50000 # The maximum time to wait for a lock diff --git a/06db/homework0801/src/main/java/com/example/homework0801/Homework0801Application.java b/06db/homework0801/src/main/java/com/example/homework0801/Homework0801Application.java new file mode 100644 index 00000000..7cd582ba --- /dev/null +++ b/06db/homework0801/src/main/java/com/example/homework0801/Homework0801Application.java @@ -0,0 +1,17 @@ +package com.example.homework0801; + +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.transaction.jta.JtaAutoConfiguration; + +@MapperScan("com.example.homework0801.repository") +@SpringBootApplication(exclude = JtaAutoConfiguration.class) + +public class Homework0801Application { + + public static void main(String[] args) { + SpringApplication.run(Homework0801Application.class, args); + } + +} diff --git a/06db/homework0801/src/main/java/com/example/homework0801/model/Order.java b/06db/homework0801/src/main/java/com/example/homework0801/model/Order.java new file mode 100644 index 00000000..d44ae71b --- /dev/null +++ b/06db/homework0801/src/main/java/com/example/homework0801/model/Order.java @@ -0,0 +1,49 @@ +package com.example.homework0801.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + + +/** + * Order + * + * @author zengqi + * @date 2021/8/9 17:13 + */ + +@Data +@TableName("t_order") +public class Order { + @TableId + @TableField("order_id") + private Long orderId; + @TableField("user_id") + private Long userId; + private String status; + + public Long getOrderId() { + return orderId; + } + + public void setOrderId(Long orderId) { + this.orderId = orderId; + } + + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } +} diff --git a/06db/homework0801/src/main/java/com/example/homework0801/repository/OrderMapper.java b/06db/homework0801/src/main/java/com/example/homework0801/repository/OrderMapper.java new file mode 100644 index 00000000..b912057b --- /dev/null +++ b/06db/homework0801/src/main/java/com/example/homework0801/repository/OrderMapper.java @@ -0,0 +1,15 @@ +package com.example.homework0801.repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.example.homework0801.model.Order; +import org.springframework.stereotype.Repository; + +/** + * repository + * + * @author zengqi + * @date 2021/8/3 16:55 + */ +@Repository +public interface OrderMapper extends BaseMapper { +} diff --git a/06db/homework0801/src/main/resources/application.properties b/06db/homework0801/src/main/resources/application.properties new file mode 100644 index 00000000..7735a579 --- /dev/null +++ b/06db/homework0801/src/main/resources/application.properties @@ -0,0 +1,47 @@ +##mybatis +#mybatis-plus.mapper-locations=classpath*:/mapper/*.xml +#mybatis-plus.type-aliases-package=com.example.homework0801.model.* +#mybatis-plus.global-config.banner=false +#mybatis-plus.configuration.cache-enabled=false +#mybatis-plus.global-config.db-config.id-type=auto +#mybatis-plus.configuration.map-underscore-to-camel-case=true +#mybatis-plus.configuration.call-setters-on-nulls=true +#mybatis-plus.configuration.jdbc-type-for-null=null +# +# +#spring.shardingsphere.datasource.common.type=com.zaxxer.hikari.HikariDataSource +#spring.shardingsphere.datasource.common.driver-class-name=com.mysql.jdbc.Driver +##spring.shardingsphere.datasource.common.jdbc-url=jdbc:mysql://localhost:3306/ds0?characterEncoding=utf8&serverTimezone\ +## =Asia/Shanghai&rewriteBatchedStatements=true +#spring.shardingsphere.datasource.common.username=root +#spring.shardingsphere.datasource.common.password=1234 +#spring.shardingsphere.props.sql-show=true + +## \u914D\u7F6E\u771F\u5B9E\u6570\u636E\u6E90 +#spring.shardingsphere.datasource.names=ds0,ds1 +## \u914D\u7F6E\u7B2C 1 \u4E2A\u6570\u636E\u6E90 +#spring.shardingsphere.datasource.ds0.type=com.zaxxer.hikari.HikariDataSource +#spring.shardingsphere.datasource.ds0.driver-class-name=com.mysql.jdbc.Driver +#spring.shardingsphere.datasource.ds0.jdbc-url=jdbc:mysql://localhost:3306/ds0?characterEncoding=utf8&serverTimezone\ +# =Asia/Shanghai +#spring.shardingsphere.datasource.ds0.username=root +#spring.shardingsphere.datasource.ds0.password=1234 +## \u914D\u7F6E\u7B2C 2 \u4E2A\u6570\u636E\u6E90 +#spring.shardingsphere.datasource.ds1.type=com.zaxxer.hikari.HikariDataSource +#spring.shardingsphere.datasource.ds1.driver-class-name=com.mysql.jdbc.Driver +#spring.shardingsphere.datasource.ds1.jdbc-url=jdbc:mysql://localhost:3306/ds1?characterEncoding=utf8&serverTimezone\ +# =Asia/Shanghai +#spring.shardingsphere.datasource.ds1.username=root +#spring.shardingsphere.datasource.ds1.password=1234 +# +# +#spring.shardingsphere.sharding.default-database-strategy.inline.sharding-column=user_id +#spring.shardingsphere.sharding.default-database-strategy.inline.algorithm-expression=ds$->{user_id % 2} +#spring.shardingsphere.sharding.binding-tables=t_order +# +#spring.shardingsphere.sharding.tables.t_order.actual-data-nodes=ds$->{0..1}.t_order_$->{0..15} +#spring.shardingsphere.sharding.tables.t_order.table-strategy.inline.sharding-column=order_id +#spring.shardingsphere.sharding.tables.t_order.table-strategy.inline.algorithm-expression=t_order_$->{order_id % 15} +#spring.shardingsphere.sharding.tables.t_order.key-generator.column=order_id +#spring.shardingsphere.sharding.tables.t_order.key-generator.type=SNOWFLAKE +#spring.shardingsphere.sharding.tables.t_order.key-generator.props.worker.id=123 diff --git a/06db/homework0801/src/main/resources/application.yml b/06db/homework0801/src/main/resources/application.yml new file mode 100644 index 00000000..73e916bc --- /dev/null +++ b/06db/homework0801/src/main/resources/application.yml @@ -0,0 +1,21 @@ +#mybatis +mybatis-plus: + mapper-locations: classpath*:/mapper/*.xml + typeAliasesPackage: com.example.homework0801.model.* + global-config: + #db-config: + # id-type: AUTO + banner: false + configuration: + map-underscore-to-camel-case: true + cache-enabled: false + call-setters-on-nulls: true + jdbc-type-for-null: 'null' + +#ę•°ę®ęŗé…ē½®ļ¼Œ čæ™é‡Œé…ē½®ęˆsharding-proxyēš„čæžęŽ„å’Œē”Øęˆ·ååÆ†ē  +spring: + datasource: + url: jdbc:mysql://localhost:3307/sharding_db?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false + driver-class-name: com.mysql.cj.jdbc.Driver + username: root + password: root diff --git a/06db/homework0801/src/main/resources/mapper/OrderMapper.xml b/06db/homework0801/src/main/resources/mapper/OrderMapper.xml new file mode 100644 index 00000000..d0a55a07 --- /dev/null +++ b/06db/homework0801/src/main/resources/mapper/OrderMapper.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/06db/homework0801/src/test/java/com/example/homework0801/Homework0801ApplicationTests.java b/06db/homework0801/src/test/java/com/example/homework0801/Homework0801ApplicationTests.java new file mode 100644 index 00000000..9baf4f93 --- /dev/null +++ b/06db/homework0801/src/test/java/com/example/homework0801/Homework0801ApplicationTests.java @@ -0,0 +1,56 @@ +package com.example.homework0801; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.example.homework0801.model.Order; +import com.example.homework0801.repository.OrderMapper; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import java.util.List; + +@SpringBootTest +@RunWith(SpringRunner.class) +public class Homework0801ApplicationTests { + + @Autowired + OrderMapper orderRepository; + + @Test + public void writeTest() { + for (int i = 0; i <= 1000; i++) { + Order order = new Order(); + order.setUserId(Long.valueOf(i)); + order.setStatus("NORAMAL"); + int orderResult = orderRepository.insert(order); + Assert.assertEquals(1, orderResult); + } + } + + + + @Test + public void updateTest() { + //ę­¤å¤„å·²åŒ…å«ęŸ„čÆ¢ + List orderList = orderRepository.selectList(new QueryWrapper<>()); + Order order = orderList.get(0); + long now = System.currentTimeMillis(); + order.setStatus("updated"); + //äøčƒ½ę›“ę–°ē”ØäŗŽåˆ†åŗ“ēš„é”® + order.setUserId(null); + int result = orderRepository.updateById(order); + Assert.assertEquals(1, result); + } + + @Test + public void deleteTest() { + int count = orderRepository.delete(new QueryWrapper<>()); + Assert.assertEquals(1001, count); + + } + + +} From c661ecae298e6fb7d0c4f582bc01f44da9823b1e Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Thu, 12 Aug 2021 09:32:09 +0800 Subject: [PATCH 26/42] =?UTF-8?q?week08=20=E5=BF=85=E5=81=9A=E9=A2=986=20?= =?UTF-8?q?=20=E5=9F=BA=E4=BA=8E=20hmily=20TCC=20=E6=88=96=20ShardingSpher?= =?UTF-8?q?e=20=E7=9A=84=20Atomikos=20XA=20=E5=AE=9E=E7=8E=B0=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E7=AE=80=E5=8D=95=E7=9A=84=E5=88=86=E5=B8=83=E5=BC=8F?= =?UTF-8?q?=E4=BA=8B=E5=8A=A1=E5=BA=94=E7=94=A8=20demo=EF=BC=88=E4=BA=8C?= =?UTF-8?q?=E9=80=89=E4=B8=80=EF=BC=89=EF=BC=8C=E6=8F=90=E4=BA=A4=E5=88=B0?= =?UTF-8?q?=20Github?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit é¦–å…ˆåœØä½œäøš2ēš„åŸŗē”€äøŠå·²ē»é…ē½®äŗ†ļ¼Œē”³ę˜Žä½æē”ØAtomikosēš„XAäŗ‹åŠ” xa-transaction-manager-type: Atomikos ē„¶åŽåœØserviceå±‚å¢žåŠ äŗ‹åŠ”ēš„ä½æē”Øļ¼š @Transactional @ShardingTransactionType(TransactionType.XA) ęœ€åŽå•å…ƒęµ‹čÆ•ä½æē”Øę­¤å£°ę˜Žčæ‡ä½æē”Øäŗ‹åŠ”ēš„ę–¹ę³•å³åÆ --- 06db/homework0801/pom.xml | 6 ++++ .../homework0801/service/OrderService.java | 13 +++++++++ .../service/OrderServiceImpl.java | 28 +++++++++++++++++++ .../Homework0801ApplicationTests.java | 17 +++++++++++ 4 files changed, 64 insertions(+) create mode 100644 06db/homework0801/src/main/java/com/example/homework0801/service/OrderService.java create mode 100644 06db/homework0801/src/main/java/com/example/homework0801/service/OrderServiceImpl.java diff --git a/06db/homework0801/pom.xml b/06db/homework0801/pom.xml index 0a76ec28..3f339eee 100644 --- a/06db/homework0801/pom.xml +++ b/06db/homework0801/pom.xml @@ -52,6 +52,12 @@ spring-boot-starter-test test + + org.apache.shardingsphere + shardingsphere-transaction-core + 5.0.0-alpha + compile + diff --git a/06db/homework0801/src/main/java/com/example/homework0801/service/OrderService.java b/06db/homework0801/src/main/java/com/example/homework0801/service/OrderService.java new file mode 100644 index 00000000..cc5b8e14 --- /dev/null +++ b/06db/homework0801/src/main/java/com/example/homework0801/service/OrderService.java @@ -0,0 +1,13 @@ +package com.example.homework0801.service; + +import com.example.homework0801.model.Order; + +/** + * OrderService + * + * @author zengqi + * @date 2021/8/12 9:14 + */ +public interface OrderService { + void insert(Order order); +} diff --git a/06db/homework0801/src/main/java/com/example/homework0801/service/OrderServiceImpl.java b/06db/homework0801/src/main/java/com/example/homework0801/service/OrderServiceImpl.java new file mode 100644 index 00000000..d260e96b --- /dev/null +++ b/06db/homework0801/src/main/java/com/example/homework0801/service/OrderServiceImpl.java @@ -0,0 +1,28 @@ +package com.example.homework0801.service; + +import com.example.homework0801.model.Order; +import com.example.homework0801.repository.OrderMapper; +import org.apache.shardingsphere.transaction.annotation.ShardingTransactionType; +import org.apache.shardingsphere.transaction.core.TransactionType; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * OrderServiceImpl + * + * @author zengqi + * @date 2021/8/12 9:15 + */ +@Service +public class OrderServiceImpl implements OrderService{ + + @Autowired + OrderMapper orderMapper; + @Override + @Transactional + @ShardingTransactionType(TransactionType.XA) + public void insert(Order order) { + orderMapper.insert(order); + } +} diff --git a/06db/homework0801/src/test/java/com/example/homework0801/Homework0801ApplicationTests.java b/06db/homework0801/src/test/java/com/example/homework0801/Homework0801ApplicationTests.java index 9baf4f93..ca15de3c 100644 --- a/06db/homework0801/src/test/java/com/example/homework0801/Homework0801ApplicationTests.java +++ b/06db/homework0801/src/test/java/com/example/homework0801/Homework0801ApplicationTests.java @@ -52,5 +52,22 @@ public void deleteTest() { } + @Test + public void xaTest() { + for (int i = 0; i <= 5; i++) { + Order order = new Order(); + order.setUserId(Long.valueOf(i)); + order.setStatus("xa"); + int orderResult = orderRepository.insert(order); + Assert.assertEquals(1, orderResult); + + Order order2 = new Order(); + order2.setUserId(Long.valueOf(i)); + order2.setStatus("xa2"); + int orderResult2 = orderRepository.insert(order2); + Assert.assertEquals(1, orderResult2); + + } + } } From 2e876aa482f332cb6d3faf75f34ab5bc3bdf98b9 Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Mon, 2 Aug 2021 11:34:23 +0800 Subject: [PATCH 27/42] =?UTF-8?q?week07=20=E5=BF=85=E5=81=9A=E9=A2=982=20?= =?UTF-8?q?=E6=8C=89=E8=87=AA=E5=B7=B1=E8=AE=BE=E8=AE=A1=E7=9A=84=E8=A1=A8?= =?UTF-8?q?=E7=BB=93=E6=9E=84=EF=BC=8C=E6=8F=92=E5=85=A5100=E4=B8=87?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E6=A8=A1=E6=8B=9F=E6=95=B0=E6=8D=AE=EF=BC=8C?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E4=B8=8D=E5=90=8C=E6=96=B9=E5=BC=8F=E7=9A=84?= =?UTF-8?q?=E6=8F=92=E5=85=A5=E6=95=88=E7=8E=87=E3=80=82=20=E5=9B=A0?= =?UTF-8?q?=E4=B8=BA=E4=B9=8B=E5=89=8D=E6=9C=89=E8=BE=83=E5=A4=9A=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=90=8C=E6=AD=A5=E7=BB=8F=E9=AA=8C=EF=BC=8C=E6=AD=A4?= =?UTF-8?q?=E5=A4=84=E6=B2=A1=E6=9C=89=E7=89=B9=E5=88=AB=E5=9C=A8=E6=84=8F?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E7=9A=84=E6=AF=94=E8=BE=83=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 代码写了2中,都在Homework07ApplicationTests.javaäø­ 1.å•ēŗæēØ‹ļ¼ŒJDBCēš„ę–¹å¼ę‰¹é‡ę’å…„ 2.使用 hikari ę•°ę®åŗ“čæžęŽ„ę± å¤šēŗæēØ‹ę‰§č”Œ 2比1块1倍左右 ęœŖå®žēŽ°ļ¼š 3.å•ēŗæēØ‹ å•ę”ę•°ę®å¾ŖēŽÆäø€ę”ę”ę’å…„ļ¼Œē†č®ŗęœ€ę…¢ 4.å•ēŗæēØ‹ insertt valuseļ¼ˆå¤šę”ę•°ę®ļ¼‰ļ¼Œčæ™ē§ęœ‰å‚ę•°å¤§å°é™åˆ¶ ę‹“å±•ļ¼šå·„ä½œä¹‹å‰å¤šä½æē”Øoracleļ¼Œčæ™ę ·äø€äŗ›ę–¹ę³•åÆä»„ęé«˜ę’å…„ę•ˆēŽ‡ļ¼ŒäøēŸ„é“mysqlę˜Æå¦ę”ÆęŒļ¼š 1. bulk collect into 2. 并蔌(hint 里加PARALLELļ¼‰ļ¼Œéœ€ę³Øę„ę•°ę®åŗ“é…ē½®ēš„å¹¶å‘ę•° 3. merge into äø­åŖä½æē”Øę’å…„ēš„čÆ­å„ 4. å—ęäŗ¤ļ¼ˆé€‚åˆå¤§ę‰¹é‡ę•°ę®å…Øé‡ę•°ę®åŒę­„ļ¼‰ č”„å……ļ¼š 1.å®žé™…å·„ä½œäø­åÆ¹å¤§ę•°ę®é‡ēš„ę’å…„ļ¼Œå¾€å¾€éœ€č¦å…ˆä»ŽęŸäøŖåŗ“č”Øäø­ęŸ„čÆ¢å‡ŗčæ™éƒØåˆ†ę•°ę®ļ¼Œč€Œå¤„ē†ęŸ„čÆ¢čÆ­å„ēš„č€—ę—¶ę›“ę˜Æé—®é¢˜ć€‚å¦‚ęžœä½æē”Øå¹¶å‘ęˆ–č€…åˆ†ę®µęŸ„čÆ¢č¦č€ƒč™‘ę•°ę®é‡å¤ć€åˆ†é”µę—¶ęŽ’åŗē­‰é—®é¢˜ć€‚å¦‚ęžœå›žę»šę®µę”ÆęŒč¶³å¤Ÿå¤§ļ¼Œå¹¶å‘äø€ę¬”ę€§ęŸ„čÆ¢åŽå…ØéƒØę’å…„ę˜Æęœ€åæ«ēš„ 2.å¤§ę•°ę®é‡åŒę­„åÆä»„ä½æē”Økettleē­‰åŒę­„å·„å…·ļ¼Œä¹ŸåÆä»„ä½æē”Øspringbatchčæ›č”Œę‰¹é‡å¤„ē† --- .../src/main/resources/application.properties | 2 +- 06db/homework06/init.sql | 2 +- 06db/homework07/.gitignore | 33 ++++++ 06db/homework07/pom.xml | 59 ++++++++++ .../homework07/Homework07Application.java | 13 +++ .../src/main/resources/application.properties | 8 ++ .../Homework07ApplicationTests.java | 102 ++++++++++++++++++ 7 files changed, 217 insertions(+), 2 deletions(-) create mode 100644 06db/homework07/.gitignore create mode 100644 06db/homework07/pom.xml create mode 100644 06db/homework07/src/main/java/com/example/homework07/Homework07Application.java create mode 100644 06db/homework07/src/main/resources/application.properties create mode 100644 06db/homework07/src/test/java/com/example/homework07/Homework07ApplicationTests.java diff --git a/04fx/homework0502/src/main/resources/application.properties b/04fx/homework0502/src/main/resources/application.properties index ee133571..014469f7 100644 --- a/04fx/homework0502/src/main/resources/application.properties +++ b/04fx/homework0502/src/main/resources/application.properties @@ -1,7 +1,7 @@ student.id=824 student.name=zengqi -spring.datasource.url=jdbc:mysql://localhost:3306/java_course?characterEncoding=utf8&serverTimezone=Asia/Shanghai +spring.datasource.url=jdbc:mysql://localhost:3306/java_course?characterEncoding=utf8&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true spring.datasource.username=root spring.datasource.password=1234 spring.datasource.hikari.maximumPoolSize=10 diff --git a/06db/homework06/init.sql b/06db/homework06/init.sql index 90637dec..4b40d6ad 100644 --- a/06db/homework06/init.sql +++ b/06db/homework06/init.sql @@ -28,7 +28,7 @@ CREATE TABLE `product` ( CREATE TABLE `order` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'č‡Ŗå¢žäø»é”®ID', - `order_id` varchar(32) NOT NULL DEFAULT '' COMMENT 'č®¢å•å·', + `order_id` varchar(64) NOT NULL DEFAULT '' COMMENT 'č®¢å•å·', `product_code` varchar(32) NOT NULL DEFAULT '' COMMENT '商品代码', `user_name` varchar(32) NOT NULL DEFAULT '' COMMENT 'ē”Øęˆ·å', `count` int(11) NOT NULL DEFAULT '0' COMMENT 'č“­ä¹°ę•°é‡', diff --git a/06db/homework07/.gitignore b/06db/homework07/.gitignore new file mode 100644 index 00000000..549e00a2 --- /dev/null +++ b/06db/homework07/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/06db/homework07/pom.xml b/06db/homework07/pom.xml new file mode 100644 index 00000000..efd46d5e --- /dev/null +++ b/06db/homework07/pom.xml @@ -0,0 +1,59 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.5.3 + + + com.example + homework07 + 0.0.1-SNAPSHOT + homework07 + Demo project for Spring Boot + + 1.8 + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + mysql + mysql-connector-java + runtime + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/06db/homework07/src/main/java/com/example/homework07/Homework07Application.java b/06db/homework07/src/main/java/com/example/homework07/Homework07Application.java new file mode 100644 index 00000000..9666d096 --- /dev/null +++ b/06db/homework07/src/main/java/com/example/homework07/Homework07Application.java @@ -0,0 +1,13 @@ +package com.example.homework07; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class Homework07Application { + + public static void main(String[] args) { + SpringApplication.run(Homework07Application.class, args); + } + +} diff --git a/06db/homework07/src/main/resources/application.properties b/06db/homework07/src/main/resources/application.properties new file mode 100644 index 00000000..c2a6ebce --- /dev/null +++ b/06db/homework07/src/main/resources/application.properties @@ -0,0 +1,8 @@ +spring.datasource.url=jdbc:mysql://localhost:3306/java_course?characterEncoding=utf8&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true +spring.datasource.username=root +spring.datasource.password=1234 +spring.datasource.hikari.maximumPoolSize=10 +spring.datasource.hikari.minimumIdle=5 +spring.datasource.hikari.idleTimeout=600000 +spring.datasource.hikari.connectionTimeout=30000 +spring.datasource.hikari.maxLifetime=1800000 diff --git a/06db/homework07/src/test/java/com/example/homework07/Homework07ApplicationTests.java b/06db/homework07/src/test/java/com/example/homework07/Homework07ApplicationTests.java new file mode 100644 index 00000000..58c2b478 --- /dev/null +++ b/06db/homework07/src/test/java/com/example/homework07/Homework07ApplicationTests.java @@ -0,0 +1,102 @@ +package com.example.homework07; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import javax.sql.DataSource; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; + +@SpringBootTest +class Homework07ApplicationTests { + + private static final String BATCH_INSERT_SQL = "insert into java_course.order(order_id,product_code,user_name," + + "count,unit_price,real_price,discount_price) values(?,?,?,?,?,?,?)"; + + @Autowired + DataSource dataSource; + + @Test + void contextLoads() { + } + + /** + * čæžęŽ„ę± +异歄 + * ęœŖå¼€åÆrewriteBatchedStatements=trueč€—ę—¶äøŗļ¼š691954 + * 开启rewriteBatchedStatements=trueč€—ę—¶äøŗļ¼š317378 + */ + @Test + void batchInsert() { + long start = System.currentTimeMillis(); + ExecutorService threadPool = Executors.newFixedThreadPool(10); + List> futureTasks = new ArrayList<>(); + for (int index = 0; index < 10; index++) { + Future submit = threadPool.submit(() -> { + try (Connection connection = dataSource.getConnection(); + PreparedStatement preparedStatement = connection.prepareStatement(BATCH_INSERT_SQL);) { + for (int i = 1; i <= 100000; i++) { + preparedStatement.setString(1, UUID.randomUUID().toString()); + preparedStatement.setString(2, String.valueOf(i)); + preparedStatement.setString(3, String.valueOf(i)); + preparedStatement.setInt(4, i); + preparedStatement.setDouble(5, i); + preparedStatement.setDouble(6, i); + preparedStatement.setDouble(7, i); + preparedStatement.addBatch(); + } + preparedStatement.executeBatch(); + } catch (SQLException throwables) { + throwables.printStackTrace(); + } + }); + futureTasks.add(submit); + } + futureTasks.forEach(f -> { + try { + f.get(); + } catch (InterruptedException | ExecutionException e) { + e.printStackTrace(); + } + }); + long time1 = System.currentTimeMillis(); + System.out.println("ä½æē”ØēŗæēØ‹ę± ę‰¹é‡å¢žåŠ ēš„č€—ę—¶äøŗļ¼š" + (time1 - start)); + } + + @Test + void batchInsertByJDBC() throws SQLException { + /** + * 开启rewriteBatchedStatements=trueč€—ę—¶äøŗļ¼š630357 + */ + String url = "jdbc:mysql://localhost:3306/java_course?characterEncoding=utf8&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true"; + long start = System.currentTimeMillis(); + try (Connection connection = DriverManager.getConnection(url, "root", "1234"); + PreparedStatement preparedStatement = connection.prepareStatement(BATCH_INSERT_SQL);) { + for (int i = 1; i <= 1000000; i++) { + preparedStatement.setString(1, UUID.randomUUID().toString()); + preparedStatement.setString(2, String.valueOf(i)); + preparedStatement.setString(3, String.valueOf(i)); + preparedStatement.setInt(4, i); + preparedStatement.setDouble(5, i); + preparedStatement.setDouble(6, i); + preparedStatement.setDouble(7, i); + preparedStatement.addBatch(); + if (i % 10000 == 0) { + preparedStatement.executeBatch(); + } + } + long time1 = System.currentTimeMillis(); + System.out.println("使用preparedStatementę‰¹é‡ę’å…„100wę”č®°å½•å…±č€—ę—¶ļ¼š" + (time1 - start) + " ms"); + } + + } +} From 0bac3df203979711d2422f02dfb7ee50a054b99f Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Tue, 3 Aug 2021 16:10:45 +0800 Subject: [PATCH 28/42] =?UTF-8?q?week07=20=E5=BF=85=E5=81=9A=E9=A2=989=20?= =?UTF-8?q?=E8=AF=BB=E5=86=99=E5=88=86=E7=A6=BB=20-=20=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E6=95=B0=E6=8D=AE=E6=BA=90=E7=89=88=E6=9C=AC?= =?UTF-8?q?=201.0=EF=BC=9A=20=E5=9F=BA=E6=9C=AC=E5=8E=9F=E7=90=86=E4=B8=BA?= =?UTF-8?q?=E4=BD=BF=E7=94=A8ThreadLoacal=E5=AF=B9=E5=A4=9A=E4=B8=AA?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=BA=90=E8=BF=9B=E8=A1=8C=E6=8C=81=E6=9C=89?= =?UTF-8?q?=EF=BC=8C=E5=86=8D=E9=80=9A=E8=BF=87=E6=B3=A8=E8=A7=A3=E5=88=87?= =?UTF-8?q?=E9=9D=A2=E6=88=96=E8=80=85=E5=88=AB=E7=9A=84=E6=96=B9=E5=BC=8F?= =?UTF-8?q?=E5=9C=A8DAO=E5=B1=82=E8=BF=9B=E8=A1=8C=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E3=80=82=20=E8=BF=99=E9=81=93=E9=A2=98?= =?UTF-8?q?=E7=94=9F=E6=88=90=E6=88=96=E8=87=AA=E5=B7=B1=E5=B7=B2=E7=BB=8F?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E8=BF=87=E5=A4=9A=E6=AC=A1=EF=BC=8C=E5=B0=B1?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E5=86=8D=E9=87=8D=E6=96=B0=E5=86=99=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=EF=BC=8C=E8=BF=99=E9=87=8C=E4=BD=BF=E7=94=A8=E5=90=8C?= =?UTF-8?q?=E4=B8=80github=E4=B8=AD=E8=87=AA=E5=B7=B1=E5=86=99=E7=9A=84?= =?UTF-8?q?=E4=B8=80=E4=B8=AAdemo=EF=BC=9A=E6=B2=A1=E6=9C=89=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E6=B3=A8=E8=A7=A3=E5=8E=BB=E5=88=87=E6=8D=A2=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=EF=BC=88=E7=94=9F=E4=BA=A7=E9=A1=B9=E7=9B=AE=E6=9C=89?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E5=88=87=E9=9D=A2+=E6=B3=A8=E8=A7=A3?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E4=BD=BF=E7=94=A8=E4=B8=8D=E5=90=8C=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=EF=BC=89=EF=BC=8C=E5=9B=A0=E4=B8=BA=E8=AF=A5?= =?UTF-8?q?demo=E4=BC=9A=E7=BB=93=E5=90=88springbatch=E5=81=9A=E6=89=B9?= =?UTF-8?q?=E5=A4=84=E7=90=86=EF=BC=9A=E6=AF=8F=E4=B8=AA=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E4=BC=9A=E5=90=AF=E5=8A=A8=E5=A4=9A=E4=B8=AA=E7=BA=BF=E7=A8=8B?= =?UTF-8?q?=EF=BC=8C=E6=AF=8F=E4=B8=AA=E7=BA=BF=E7=A8=8B=E4=BC=9A=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E4=B8=8D=E5=90=8C=E7=9A=84=E6=95=B0=E6=8D=AE=E6=BA=90?= =?UTF-8?q?=EF=BC=8C=E8=BE=BE=E5=88=B0=E5=8A=A8=E6=80=81=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E7=9A=84=E7=9B=AE=E7=9A=84=E3=80=82=E8=AF=A6=E6=83=85=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E5=9C=A8=EF=BC=9A=20https://github.com/zengqi826/mult?= =?UTF-8?q?i=5Ftenant=5Fspringbatch=5Fdemo/tree/25376327208028edc93b62119a?= =?UTF-8?q?a23d470753370b?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 06db/homework07/HELP.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 06db/homework07/HELP.md diff --git a/06db/homework07/HELP.md b/06db/homework07/HELP.md new file mode 100644 index 00000000..f8c89ce8 --- /dev/null +++ b/06db/homework07/HELP.md @@ -0,0 +1,4 @@ +9.ļ¼ˆåæ…åšļ¼‰čÆ»å†™åˆ†ē¦» - åŠØę€åˆ‡ę¢ę•°ę®ęŗē‰ˆęœ¬ 1.0: +åŸŗęœ¬åŽŸē†äøŗä½æē”ØThreadLoacalåÆ¹å¤šäøŖę•°ę®ęŗčæ›č”ŒęŒęœ‰ļ¼Œå†é€ščæ‡ę³Øč§£åˆ‡é¢ęˆ–č€…åˆ«ēš„ę–¹å¼åœØDAOå±‚čæ›č”Œåˆ‡ę¢é€‰ę‹©ć€‚ +čæ™é“é¢˜ē”Ÿęˆęˆ–č‡Ŗå·±å·²ē»å®žēŽ°čæ‡å¤šę¬”ļ¼Œå°±ę²”ęœ‰å†é‡ę–°å†™ä»£ē ļ¼Œčæ™é‡Œä½æē”Øä¹‹å‰ēš„äø€äøŖdemoļ¼šę²”ęœ‰ä½æē”Øę³Øč§£åŽ»åˆ‡ę¢ä½æē”Øļ¼Œå› äøŗčÆ„demoä¼šē»“åˆspringbatchåšę‰¹å¤„ē†ć€‚ęÆäøŖä»»åŠ”ä¼šåÆåŠØå¤šäøŖēŗæēØ‹ļ¼ŒęÆäøŖēŗæēØ‹ä¼šä½æē”ØäøåŒēš„ę•°ę®ęŗļ¼Œč¾¾åˆ°åŠØę€åˆ‡ę¢ēš„ē›®ēš„ć€‚ +https://github.com/zengqi826/multi_tenant_springbatch_demo/tree/25376327208028edc93b62119aa23d470753370b From d18ea1b57e682247445dfe773e02f1c1df2c0744 Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Wed, 4 Aug 2021 17:22:09 +0800 Subject: [PATCH 29/42] =?UTF-8?q?week07=20=E5=BF=85=E5=81=9A=E9=A2=9810=20?= =?UTF-8?q?=E8=AF=BB=E5=86=99=E5=88=86=E7=A6=BB=20-=20=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E6=A1=86=E6=9E=B6=E7=89=88=E6=9C=AC=202.0:=20?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=BD=BF=E7=94=A8shardingSphere=20jdbc?= =?UTF-8?q?=E3=80=82=20=E6=B3=A8=E6=84=8Fspringboot=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=EF=BC=8C=E5=A6=82=E6=9E=9C=E6=98=AF2.4?= =?UTF-8?q?=E5=8F=8A=E4=BB=A5=E4=B8=8A=E7=89=88=E6=9C=AC=20=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E9=85=8D=E7=BD=AEcommon=E6=95=B0=E6=8D=AE=E6=BA=90=20?= =?UTF-8?q?https://github.com/apache/shardingsphere/issues/8299?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Homework07ShardingSphereApplication.java | 13 ++++++ .../model/Student.java | 28 +++++++++++++ .../repository/StudentRepository.java | 13 ++++++ .../src/main/resources/application.properties | 42 +++++++++++++++++++ ...ework07ShardingSphereApplicationTests.java | 33 +++++++++++++++ 5 files changed, 129 insertions(+) create mode 100644 06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/Homework07ShardingSphereApplication.java create mode 100644 06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/model/Student.java create mode 100644 06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/repository/StudentRepository.java create mode 100644 06db/homework07-shardingSphere/src/main/resources/application.properties create mode 100644 06db/homework07-shardingSphere/src/test/java/com/example/homework07shardingsphere/Homework07ShardingSphereApplicationTests.java diff --git a/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/Homework07ShardingSphereApplication.java b/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/Homework07ShardingSphereApplication.java new file mode 100644 index 00000000..87e0af74 --- /dev/null +++ b/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/Homework07ShardingSphereApplication.java @@ -0,0 +1,13 @@ +package com.example.homework07shardingsphere; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class Homework07ShardingSphereApplication { + + public static void main(String[] args) { + SpringApplication.run(Homework07ShardingSphereApplication.class, args); + } + +} diff --git a/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/model/Student.java b/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/model/Student.java new file mode 100644 index 00000000..59844553 --- /dev/null +++ b/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/model/Student.java @@ -0,0 +1,28 @@ +package com.example.homework07shardingsphere.model; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; + +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + +/** + * Student + * + * @author zengqi + * @date 2021/8/3 16:54 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@ToString +@Entity +@Table(name = "student") +public class Student { + @Id + private int id; + private String name; +} diff --git a/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/repository/StudentRepository.java b/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/repository/StudentRepository.java new file mode 100644 index 00000000..e9d10c16 --- /dev/null +++ b/06db/homework07-shardingSphere/src/main/java/com/example/homework07shardingsphere/repository/StudentRepository.java @@ -0,0 +1,13 @@ +package com.example.homework07shardingsphere.repository; + +import com.example.homework07shardingsphere.model.Student; +import org.springframework.data.jpa.repository.JpaRepository; + +/** + * repository + * + * @author zengqi + * @date 2021/8/3 16:55 + */ +public interface StudentRepository extends JpaRepository { +} diff --git a/06db/homework07-shardingSphere/src/main/resources/application.properties b/06db/homework07-shardingSphere/src/main/resources/application.properties new file mode 100644 index 00000000..499cadea --- /dev/null +++ b/06db/homework07-shardingSphere/src/main/resources/application.properties @@ -0,0 +1,42 @@ + +spring.shardingsphere.datasource.common.type=com.zaxxer.hikari.HikariDataSource +spring.shardingsphere.datasource.common.driver-class-name=com.mysql.jdbc.Driver +#spring.shardingsphere.datasource.common.jdbc-url=jdbc:mysql://localhost:3306/ds0?characterEncoding=utf8&serverTimezone\ +# =Asia/Shanghai&rewriteBatchedStatements=true +spring.shardingsphere.datasource.common.username=root +spring.shardingsphere.datasource.common.password=1234 +spring.shardingsphere.props.sql-show=true +# \u914D\u7F6E\u771F\u5B9E\u6570\u636E\u6E90 +spring.shardingsphere.datasource.names=ds0,ds1,ds2 +spring.datasource.url= + +# \u914D\u7F6E\u7B2C 1 \u4E2A\u6570\u636E\u6E90 +spring.shardingsphere.datasource.ds0.type=com.zaxxer.hikari.HikariDataSource +spring.shardingsphere.datasource.ds0.driver-class-name=com.mysql.jdbc.Driver +spring.shardingsphere.datasource.ds0.jdbc-url=jdbc:mysql://localhost:3306/ds0?characterEncoding=utf8&serverTimezone\ + =Asia/Shanghai&rewriteBatchedStatements=true + +spring.shardingsphere.datasource.ds0.username=root +spring.shardingsphere.datasource.ds0.password=1234 +# \u914D\u7F6E\u7B2C 2 \u4E2A\u6570\u636E\u6E90 +spring.shardingsphere.datasource.ds1.type=com.zaxxer.hikari.HikariDataSource +spring.shardingsphere.datasource.ds1.driver-class-name=com.mysql.jdbc.Driver +spring.shardingsphere.datasource.ds1.jdbc-url=jdbc:mysql://localhost:3306/ds1?characterEncoding=utf8&serverTimezone\ + =Asia/Shanghai&rewriteBatchedStatements=true +spring.shardingsphere.datasource.ds1.username=root +spring.shardingsphere.datasource.ds1.password=1234 +# \u914D\u7F6E\u7B2C 3 \u4E2A\u6570\u636E\u6E90 +spring.shardingsphere.datasource.ds2.type=com.zaxxer.hikari.HikariDataSource +spring.shardingsphere.datasource.ds2.driver-class-name=com.mysql.jdbc.Driver +spring.shardingsphere.datasource.ds2.jdbc-url=jdbc:mysql://localhost:3306/ds2?characterEncoding=utf8&serverTimezone\ + =Asia/Shanghai&rewriteBatchedStatements=true +spring.shardingsphere.datasource.ds2.username=root +spring.shardingsphere.datasource.ds2.password=1234 +spring.shardingsphere.rules.readwrite-splitting.data-sources..write-data-source-name=ds0 +spring.shardingsphere.rules.readwrite-splitting.data-sources..read-data-source-names=ds1,ds2 +spring.shardingsphere.rules.readwrite-splitting.data-sources..load-balancer-name=round-robin +# \u8D1F\u8F7D\u5747\u8861\u7B97\u6CD5\u914D\u7F6E +spring.shardingsphere.rules.readwrite-splitting.load-balancers..type=ROUND_ROBIN +spring.shardingsphere.rules.readwrite-splitting.load-balancers..props.xxx=0 +# +#spring.main.allow-bean-definition-overriding=true \ No newline at end of file diff --git a/06db/homework07-shardingSphere/src/test/java/com/example/homework07shardingsphere/Homework07ShardingSphereApplicationTests.java b/06db/homework07-shardingSphere/src/test/java/com/example/homework07shardingsphere/Homework07ShardingSphereApplicationTests.java new file mode 100644 index 00000000..5c543820 --- /dev/null +++ b/06db/homework07-shardingSphere/src/test/java/com/example/homework07shardingsphere/Homework07ShardingSphereApplicationTests.java @@ -0,0 +1,33 @@ +package com.example.homework07shardingsphere; + +import com.example.homework07shardingsphere.model.Student; +import com.example.homework07shardingsphere.repository.StudentRepository; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import java.util.Optional; + +@SpringBootTest +class Homework07ShardingSphereApplicationTests { + @Autowired + StudentRepository studentRepository; + @Test + void contextLoads() { + } + + @Test + void writeTest() { + Student student = new Student(1,"zq"); + Student studentResult = studentRepository.save(student); + System.out.println("ę’å…„ę•°ę®ļ¼š" + studentResult); + } + @Test + void selectTest() { + Optional Student1 = studentRepository.findById(1); + System.out.println("ęŸ„čÆ¢ę•°ę®ļ¼š" + Student1.get()); + Optional Student2 = studentRepository.findById(1); + System.out.println("ęŸ„čÆ¢ę•°ę®ļ¼š" + Student2.get()); + } + +} From a12a91490c56eba191945d380e0d5f4f9d45e288 Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Wed, 4 Aug 2021 17:22:09 +0800 Subject: [PATCH 30/42] =?UTF-8?q?week08=20=E5=B0=86=E6=96=87=E5=AD=97?= =?UTF-8?q?=E6=8F=8F=E8=BF=B0=E6=B1=87=E6=80=BB=E5=88=B0MD=E6=96=87?= =?UTF-8?q?=E4=BB=B6=EF=BC=8C=E5=AE=8C=E6=88=90=E5=BF=85=E5=81=9A=E9=A2=98?= =?UTF-8?q?2,6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 06db/homework0801/homework0801.md | 206 ++++++++++++++++++++++++++++++ 1 file changed, 206 insertions(+) create mode 100644 06db/homework0801/homework0801.md diff --git a/06db/homework0801/homework0801.md b/06db/homework0801/homework0801.md new file mode 100644 index 00000000..3e64253b --- /dev/null +++ b/06db/homework0801/homework0801.md @@ -0,0 +1,206 @@ +week08 +åæ…åšé¢˜2 č®¾č®”åÆ¹å‰é¢ēš„č®¢å•č”Øę•°ę®čæ›č”Œę°“å¹³åˆ†åŗ“åˆ†č”Øļ¼Œę‹†åˆ† 2 äøŖåŗ“ļ¼ŒęÆäøŖåŗ“ 16 å¼ č”Øć€‚å¹¶åœØę–°ē»“ęž„åœØę¼”ē¤ŗåøøč§ēš„å¢žåˆ ę”¹ęŸ„ę“ä½œć€‚ä»£ē ć€sql å’Œé…ē½®ę–‡ä»¶ļ¼ŒäøŠä¼ åˆ° Github + +sqlå»ŗč”ØčÆ­å„ļ¼šinit.sql +proxy é…ē½®ę–‡ä»¶ļ¼š +config-sharding.yaml +server.yaml +é—®é¢˜ļ¼šå·²å•ē‹¬åé¦ˆļ¼Œä½æē”Øjdbcę–¹å¼ļ¼Œé…ē½®åŽę— ę³•åˆ†åŗ“åˆ†č”Ø + +åæ…åšé¢˜6 åŸŗäŗŽ hmily TCC ꈖ ShardingSphere ēš„ Atomikos XA å®žēŽ°äø€äøŖē®€å•ēš„åˆ†åøƒå¼äŗ‹åŠ”åŗ”ē”Ø demoļ¼ˆäŗŒé€‰äø€ļ¼‰ļ¼Œęäŗ¤åˆ° Github + +é¦–å…ˆåœØä½œäøš2ēš„åŸŗē”€äøŠå·²ē»é…ē½®äŗ†ļ¼Œē”³ę˜Žä½æē”ØAtomikosēš„XAäŗ‹åŠ” xa-transaction-manager-type: Atomikos +ē„¶åŽåœØserviceå±‚å¢žåŠ äŗ‹åŠ”ēš„ä½æē”Øļ¼š +@Transactional +@ShardingTransactionType(TransactionType.XA) +ęœ€åŽå•å…ƒęµ‹čÆ•ä½æē”Øę­¤å£°ę˜Žčæ‡ä½æē”Øäŗ‹åŠ”ēš„ę–¹ę³•å³åÆ + + +å•å…ƒęµ‹čÆ•äø­čæ›č”Œå¢žåˆ ę”¹ęŸ„č®°å½•ēš„éƒØåˆ†ę—„åæ—ļ¼š +``` +[INFO ] 2021-08-11 17:26:32.755 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, +user_id, +status ) VALUES ( 1425388152927371266, +992, +'NORAMAL' ) +[INFO ] 2021-08-11 17:26:32.755 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) +[INFO ] 2021-08-11 17:26:32.756 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: INSERT INTO t_order_2 ( order_id, +user_id, +status ) VALUES (1425388152927371266, 992, 'NORAMAL') +[INFO ] 2021-08-11 17:26:32.757 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only +[INFO ] 2021-08-11 17:26:32.757 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) +[INFO ] 2021-08-11 17:26:32.757 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT @@session.transaction_read_only +[INFO ] 2021-08-11 17:26:32.758 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, +user_id, +status ) VALUES ( 1425388152927371267, +993, +'NORAMAL' ) +[INFO ] 2021-08-11 17:26:32.758 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) +[INFO ] 2021-08-11 17:26:32.758 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: INSERT INTO t_order_3 ( order_id, +user_id, +status ) VALUES (1425388152927371267, 993, 'NORAMAL') +[INFO ] 2021-08-11 17:26:32.760 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only +[INFO ] 2021-08-11 17:26:32.760 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) +[INFO ] 2021-08-11 17:26:32.760 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT @@session.transaction_read_only +[INFO ] 2021-08-11 17:26:32.761 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, +user_id, +status ) VALUES ( 1425388152927371268, +994, +'NORAMAL' ) +[INFO ] 2021-08-11 17:26:32.768 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) +[INFO ] 2021-08-11 17:26:32.768 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: INSERT INTO t_order_4 ( order_id, +user_id, +status ) VALUES (1425388152927371268, 994, 'NORAMAL') +[INFO ] 2021-08-11 17:26:32.770 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only +[INFO ] 2021-08-11 17:26:32.770 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) +[INFO ] 2021-08-11 17:26:32.770 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT @@session.transaction_read_only +[INFO ] 2021-08-11 17:26:32.770 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, +user_id, +status ) VALUES ( 1425388152990285825, +995, +'NORAMAL' ) +[INFO ] 2021-08-11 17:26:32.771 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) +[INFO ] 2021-08-11 17:26:32.771 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: INSERT INTO t_order_1 ( order_id, +user_id, +status ) VALUES (1425388152990285825, 995, 'NORAMAL') +[INFO ] 2021-08-11 17:26:32.773 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only +[INFO ] 2021-08-11 17:26:32.773 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) +[INFO ] 2021-08-11 17:26:32.773 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT @@session.transaction_read_only +[INFO ] 2021-08-11 17:26:32.773 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, +user_id, +status ) VALUES ( 1425388152990285826, +996, +'NORAMAL' ) +[INFO ] 2021-08-11 17:26:32.773 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) +[INFO ] 2021-08-11 17:26:32.773 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: INSERT INTO t_order_2 ( order_id, +user_id, +status ) VALUES (1425388152990285826, 996, 'NORAMAL') +[INFO ] 2021-08-11 17:26:32.775 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only +[INFO ] 2021-08-11 17:26:32.775 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) +[INFO ] 2021-08-11 17:26:32.775 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT @@session.transaction_read_only +[INFO ] 2021-08-11 17:26:32.776 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, +user_id, +status ) VALUES ( 1425388152990285827, +997, +'NORAMAL' ) +[INFO ] 2021-08-11 17:26:32.776 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) +[INFO ] 2021-08-11 17:26:32.776 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: INSERT INTO t_order_3 ( order_id, +user_id, +status ) VALUES (1425388152990285827, 997, 'NORAMAL') +[INFO ] 2021-08-11 17:26:32.778 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only +[INFO ] 2021-08-11 17:26:32.784 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) +[INFO ] 2021-08-11 17:26:32.785 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT @@session.transaction_read_only +[INFO ] 2021-08-11 17:26:32.786 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, +user_id, +status ) VALUES ( 1425388153057394690, +998, +'NORAMAL' ) +[INFO ] 2021-08-11 17:26:32.786 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) +[INFO ] 2021-08-11 17:26:32.787 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: INSERT INTO t_order_2 ( order_id, +user_id, +status ) VALUES (1425388153057394690, 998, 'NORAMAL') +[INFO ] 2021-08-11 17:26:32.789 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only +[INFO ] 2021-08-11 17:26:32.789 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) +[INFO ] 2021-08-11 17:26:32.789 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT @@session.transaction_read_only +[INFO ] 2021-08-11 17:26:32.789 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, +user_id, +status ) VALUES ( 1425388153057394691, +999, +'NORAMAL' ) +[INFO ] 2021-08-11 17:26:32.789 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) +[INFO ] 2021-08-11 17:26:32.790 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: INSERT INTO t_order_3 ( order_id, +user_id, +status ) VALUES (1425388153057394691, 999, 'NORAMAL') +[INFO ] 2021-08-11 17:26:32.791 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only +[INFO ] 2021-08-11 17:26:32.791 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) +[INFO ] 2021-08-11 17:26:32.791 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT @@session.transaction_read_only +[INFO ] 2021-08-11 17:26:32.792 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, +user_id, +status ) VALUES ( 1425388153057394692, +1000, +'NORAMAL' ) +[INFO ] 2021-08-11 17:26:32.792 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) +[INFO ] 2021-08-11 17:26:32.792 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: INSERT INTO t_order_4 ( order_id, +user_id, +status ) VALUES (1425388153057394692, 1000, 'NORAMAL') +[INFO ] 2021-08-11 17:26:32.819 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT order_id,user_id,status FROM t_order +[INFO ] 2021-08-11 17:26:32.820 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) +[INFO ] 2021-08-11 17:26:32.821 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_0 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.821 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_1 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.821 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_2 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.821 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_3 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.821 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_4 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.821 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_5 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.821 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_6 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.821 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_7 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_8 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_9 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_10 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_11 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_12 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_13 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_14 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_15 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_0 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_1 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_2 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_3 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_4 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_5 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_6 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_7 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.823 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_8 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.823 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_9 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.823 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_10 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.823 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_11 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.823 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_12 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.823 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_13 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.823 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_14 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.823 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_15 ORDER BY order_id ASC +[INFO ] 2021-08-11 17:26:32.891 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only +[INFO ] 2021-08-11 17:26:32.891 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) +[INFO ] 2021-08-11 17:26:32.893 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT @@session.transaction_read_only +[INFO ] 2021-08-11 17:26:32.894 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: UPDATE t_order SET status='updated' WHERE order_id=1425388126469701633 +[INFO ] 2021-08-11 17:26:32.894 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLUpdateStatement(orderBy=Optional.empty, limit=Optional.empty) +[INFO ] 2021-08-11 17:26:32.894 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: UPDATE t_order_1 SET status='updated' WHERE order_id=1425388126469701633 +[INFO ] 2021-08-11 17:26:32.894 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: UPDATE t_order_1 SET status='updated' WHERE order_id=1425388126469701633 +[INFO ] 2021-08-11 17:26:32.902 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only +[INFO ] 2021-08-11 17:26:32.902 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) +[INFO ] 2021-08-11 17:26:32.902 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT @@session.transaction_read_only +[INFO ] 2021-08-11 17:26:32.903 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: DELETE FROM t_order +[INFO ] 2021-08-11 17:26:32.906 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLDeleteStatement(orderBy=Optional.empty, limit=Optional.empty) +[INFO ] 2021-08-11 17:26:32.906 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_0 +[INFO ] 2021-08-11 17:26:32.906 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_1 +[INFO ] 2021-08-11 17:26:32.906 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_2 +[INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_3 +[INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_4 +[INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_5 +[INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_6 +[INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_7 +[INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_8 +[INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_9 +[INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_10 +[INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_11 +[INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_12 +[INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_13 +[INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_14 +[INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_15 +[INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_0 +[INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_1 +[INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_2 +[INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_3 +[INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_4 +[INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_5 +[INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_6 +[INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_7 +[INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_8 +[INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_9 +[INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_10 +[INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_11 +[INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_12 +[INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_13 +[INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_14 +[INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_15 + +``` + From e29905ef4df8f62a511a3c397329a819dfeca290 Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Thu, 5 Aug 2021 09:36:44 +0800 Subject: [PATCH 31/42] =?UTF-8?q?=E6=BC=8F=E4=BA=86pom=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E7=9A=84=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 36 ++++++++++++++ 06db/homework07-shardingSphere/pom.xml | 68 ++++++++++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 06db/homework07-shardingSphere/pom.xml diff --git a/.gitignore b/.gitignore index ffbd9f6a..b0599f9a 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,39 @@ target/ build/ .DS_Store +/04fx/homework0502/.gitignore +/04fx/homeworkweek05/.gitignore +/out/production/JavaCourseCodes/java11/.gitignore +/out/production/JavaCourseCodes/java11/src/main/resources/application.properties +/out/production/JavaCourseCodes/homework/Hello.xlass +/out/production/JavaCourseCodes/homework/JVMå†…å­˜ęØ”åž‹.png +/out/production/JavaCourseCodes/homework/JVMå†…å­˜ęØ”åž‹.xmind +/04fx/homework0502/.mvn/wrapper/maven-wrapper.jar +/04fx/homeworkweek05/.mvn/wrapper/maven-wrapper.jar +/06db/homework07/.mvn/wrapper/maven-wrapper.jar +/out/production/JavaCourseCodes/java11/.mvn/wrapper/maven-wrapper.jar +/04fx/homework0502/.mvn/wrapper/maven-wrapper.properties +/04fx/homeworkweek05/.mvn/wrapper/maven-wrapper.properties +/06db/homework07/.mvn/wrapper/maven-wrapper.properties +/out/production/JavaCourseCodes/java11/.mvn/wrapper/maven-wrapper.properties +/04fx/homework0502/.mvn/wrapper/MavenWrapperDownloader.java +/04fx/homeworkweek05/.mvn/wrapper/MavenWrapperDownloader.java +/06db/homework07/.mvn/wrapper/MavenWrapperDownloader.java +/04fx/homework0502/mvnw +/04fx/homeworkweek05/mvnw +/06db/homework07/mvnw +/out/production/JavaCourseCodes/java11/mvnw +/04fx/homework0502/mvnw.cmd +/04fx/homeworkweek05/mvnw.cmd +/06db/homework07/mvnw.cmd +/out/production/JavaCourseCodes/java11/mvnw.cmd +/out/production/JavaCourseCodes/java11/pom.xml +/out/production/JavaCourseCodes/out/production/01jvm/README.md +/out/production/JavaCourseCodes/README.md +/out/production/JavaCourseCodes/homework/Week02.md +/out/production/JavaCourseCodes/out/production/01jvm/ēŽÆå¢ƒå‡†å¤‡.txt +/out/production/JavaCourseCodes/ēŽÆå¢ƒå‡†å¤‡.txt +/04fx/homework0502/.mvn/wrapper/maven-wrapper.jar +/04fx/homeworkweek05/.mvn/wrapper/maven-wrapper.jar +/06db/homework07/.mvn/wrapper/maven-wrapper.jar +/out/production/JavaCourseCodes/java11/.mvn/wrapper/maven-wrapper.jar diff --git a/06db/homework07-shardingSphere/pom.xml b/06db/homework07-shardingSphere/pom.xml new file mode 100644 index 00000000..ee27a147 --- /dev/null +++ b/06db/homework07-shardingSphere/pom.xml @@ -0,0 +1,68 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.5.3 + + + com.example + homework07-shardingSphere + 0.0.1-SNAPSHOT + homework07-shardingSphere + Demo project for Spring Boot + + 1.8 + + + + + + + + + org.apache.shardingsphere + shardingsphere-jdbc-core-spring-boot-starter + 5.0.0-alpha + + + mysql + mysql-connector-java + runtime + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + From 1cc79db95f5ca200fcf6f2e773c494f43f9855ed Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Wed, 11 Aug 2021 17:31:44 +0800 Subject: [PATCH 32/42] =?UTF-8?q?week08=202.=EF=BC=88=E5=BF=85=E5=81=9A?= =?UTF-8?q?=EF=BC=89=E8=AE=BE=E8=AE=A1=E5=AF=B9=E5=89=8D=E9=9D=A2=E7=9A=84?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E8=A1=A8=E6=95=B0=E6=8D=AE=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E6=B0=B4=E5=B9=B3=E5=88=86=E5=BA=93=E5=88=86=E8=A1=A8=EF=BC=8C?= =?UTF-8?q?=E6=8B=86=E5=88=86=202=20=E4=B8=AA=E5=BA=93=EF=BC=8C=E6=AF=8F?= =?UTF-8?q?=E4=B8=AA=E5=BA=93=2016=20=E5=BC=A0=E8=A1=A8=E3=80=82=E5=B9=B6?= =?UTF-8?q?=E5=9C=A8=E6=96=B0=E7=BB=93=E6=9E=84=E5=9C=A8=E6=BC=94=E7=A4=BA?= =?UTF-8?q?=E5=B8=B8=E8=A7=81=E7=9A=84=E5=A2=9E=E5=88=A0=E6=94=B9=E6=9F=A5?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E3=80=82=E4=BB=A3=E7=A0=81=E3=80=81sql=20?= =?UTF-8?q?=E5=92=8C=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=EF=BC=8C=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E5=88=B0=20Github?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sqlå»ŗč”ØčÆ­å„ļ¼šinit.sql proxy é…ē½®ę–‡ä»¶ļ¼š config-sharding.yaml server.yaml å•å…ƒęµ‹čÆ•äø­čæ›č”Œå¢žåˆ ę”¹ęŸ„č®°å½•ļ¼š [INFO ] 2021-08-11 17:26:32.755 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, user_id, status ) VALUES ( 1425388152927371266, 992, 'NORAMAL' ) [INFO ] 2021-08-11 17:26:32.755 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) [INFO ] 2021-08-11 17:26:32.756 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: INSERT INTO t_order_2 ( order_id, user_id, status ) VALUES (1425388152927371266, 992, 'NORAMAL') [INFO ] 2021-08-11 17:26:32.757 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.757 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) [INFO ] 2021-08-11 17:26:32.757 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.758 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, user_id, status ) VALUES ( 1425388152927371267, 993, 'NORAMAL' ) [INFO ] 2021-08-11 17:26:32.758 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) [INFO ] 2021-08-11 17:26:32.758 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: INSERT INTO t_order_3 ( order_id, user_id, status ) VALUES (1425388152927371267, 993, 'NORAMAL') [INFO ] 2021-08-11 17:26:32.760 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.760 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) [INFO ] 2021-08-11 17:26:32.760 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.761 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, user_id, status ) VALUES ( 1425388152927371268, 994, 'NORAMAL' ) [INFO ] 2021-08-11 17:26:32.768 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) [INFO ] 2021-08-11 17:26:32.768 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: INSERT INTO t_order_4 ( order_id, user_id, status ) VALUES (1425388152927371268, 994, 'NORAMAL') [INFO ] 2021-08-11 17:26:32.770 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.770 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) [INFO ] 2021-08-11 17:26:32.770 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.770 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, user_id, status ) VALUES ( 1425388152990285825, 995, 'NORAMAL' ) [INFO ] 2021-08-11 17:26:32.771 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) [INFO ] 2021-08-11 17:26:32.771 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: INSERT INTO t_order_1 ( order_id, user_id, status ) VALUES (1425388152990285825, 995, 'NORAMAL') [INFO ] 2021-08-11 17:26:32.773 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.773 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) [INFO ] 2021-08-11 17:26:32.773 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.773 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, user_id, status ) VALUES ( 1425388152990285826, 996, 'NORAMAL' ) [INFO ] 2021-08-11 17:26:32.773 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) [INFO ] 2021-08-11 17:26:32.773 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: INSERT INTO t_order_2 ( order_id, user_id, status ) VALUES (1425388152990285826, 996, 'NORAMAL') [INFO ] 2021-08-11 17:26:32.775 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.775 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) [INFO ] 2021-08-11 17:26:32.775 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.776 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, user_id, status ) VALUES ( 1425388152990285827, 997, 'NORAMAL' ) [INFO ] 2021-08-11 17:26:32.776 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) [INFO ] 2021-08-11 17:26:32.776 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: INSERT INTO t_order_3 ( order_id, user_id, status ) VALUES (1425388152990285827, 997, 'NORAMAL') [INFO ] 2021-08-11 17:26:32.778 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.784 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) [INFO ] 2021-08-11 17:26:32.785 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.786 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, user_id, status ) VALUES ( 1425388153057394690, 998, 'NORAMAL' ) [INFO ] 2021-08-11 17:26:32.786 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) [INFO ] 2021-08-11 17:26:32.787 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: INSERT INTO t_order_2 ( order_id, user_id, status ) VALUES (1425388153057394690, 998, 'NORAMAL') [INFO ] 2021-08-11 17:26:32.789 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.789 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) [INFO ] 2021-08-11 17:26:32.789 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.789 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, user_id, status ) VALUES ( 1425388153057394691, 999, 'NORAMAL' ) [INFO ] 2021-08-11 17:26:32.789 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) [INFO ] 2021-08-11 17:26:32.790 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: INSERT INTO t_order_3 ( order_id, user_id, status ) VALUES (1425388153057394691, 999, 'NORAMAL') [INFO ] 2021-08-11 17:26:32.791 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.791 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) [INFO ] 2021-08-11 17:26:32.791 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.792 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, user_id, status ) VALUES ( 1425388153057394692, 1000, 'NORAMAL' ) [INFO ] 2021-08-11 17:26:32.792 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty) [INFO ] 2021-08-11 17:26:32.792 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: INSERT INTO t_order_4 ( order_id, user_id, status ) VALUES (1425388153057394692, 1000, 'NORAMAL') [INFO ] 2021-08-11 17:26:32.819 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT order_id,user_id,status FROM t_order [INFO ] 2021-08-11 17:26:32.820 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) [INFO ] 2021-08-11 17:26:32.821 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_0 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.821 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_1 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.821 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_2 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.821 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_3 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.821 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_4 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.821 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_5 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.821 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_6 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.821 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_7 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_8 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_9 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_10 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_11 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_12 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_13 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_14 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT order_id,user_id,status FROM t_order_15 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_0 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_1 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_2 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_3 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_4 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_5 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_6 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.822 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_7 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.823 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_8 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.823 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_9 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.823 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_10 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.823 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_11 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.823 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_12 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.823 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_13 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.823 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_14 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.823 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT order_id,user_id,status FROM t_order_15 ORDER BY order_id ASC [INFO ] 2021-08-11 17:26:32.891 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.891 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) [INFO ] 2021-08-11 17:26:32.893 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.894 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: UPDATE t_order SET status='updated' WHERE order_id=1425388126469701633 [INFO ] 2021-08-11 17:26:32.894 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLUpdateStatement(orderBy=Optional.empty, limit=Optional.empty) [INFO ] 2021-08-11 17:26:32.894 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: UPDATE t_order_1 SET status='updated' WHERE order_id=1425388126469701633 [INFO ] 2021-08-11 17:26:32.894 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: UPDATE t_order_1 SET status='updated' WHERE order_id=1425388126469701633 [INFO ] 2021-08-11 17:26:32.902 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.902 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLSelectStatement(limit=Optional.empty, lock=Optional.empty, window=Optional.empty) [INFO ] 2021-08-11 17:26:32.902 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: SELECT @@session.transaction_read_only [INFO ] 2021-08-11 17:26:32.903 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: DELETE FROM t_order [INFO ] 2021-08-11 17:26:32.906 [ShardingSphere-Command-18] ShardingSphere-SQL - SQLStatement: MySQLDeleteStatement(orderBy=Optional.empty, limit=Optional.empty) [INFO ] 2021-08-11 17:26:32.906 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_0 [INFO ] 2021-08-11 17:26:32.906 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_1 [INFO ] 2021-08-11 17:26:32.906 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_2 [INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_3 [INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_4 [INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_5 [INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_6 [INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_7 [INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_8 [INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_9 [INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_10 [INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_11 [INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_12 [INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_13 [INFO ] 2021-08-11 17:26:32.907 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_14 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds0 ::: DELETE FROM t_order_15 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_0 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_1 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_2 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_3 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_4 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_5 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_6 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_7 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_8 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_9 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_10 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_11 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_12 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_13 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_14 [INFO ] 2021-08-11 17:26:32.908 [ShardingSphere-Command-18] ShardingSphere-SQL - Actual SQL: ds1 ::: DELETE FROM t_order_15 --- 06db/homework0801/.gitignore | 33 ++ .../.mvn/wrapper/MavenWrapperDownloader.java | 118 +++++++ .../.mvn/wrapper/maven-wrapper.jar | Bin 0 -> 50710 bytes .../.mvn/wrapper/maven-wrapper.properties | 2 + 06db/homework0801/config-sharding.yaml | 239 ++++++++++++++ 06db/homework0801/init.sql | 66 ++++ 06db/homework0801/mvnw | 310 ++++++++++++++++++ 06db/homework0801/mvnw.cmd | 182 ++++++++++ 06db/homework0801/pom.xml | 74 +++++ 06db/homework0801/server.yaml | 24 ++ .../homework0801/Homework0801Application.java | 17 + .../com/example/homework0801/model/Order.java | 49 +++ .../homework0801/repository/OrderMapper.java | 15 + .../src/main/resources/application.properties | 47 +++ .../src/main/resources/application.yml | 21 ++ .../src/main/resources/mapper/OrderMapper.xml | 7 + .../Homework0801ApplicationTests.java | 56 ++++ 17 files changed, 1260 insertions(+) create mode 100644 06db/homework0801/.gitignore create mode 100644 06db/homework0801/.mvn/wrapper/MavenWrapperDownloader.java create mode 100644 06db/homework0801/.mvn/wrapper/maven-wrapper.jar create mode 100644 06db/homework0801/.mvn/wrapper/maven-wrapper.properties create mode 100644 06db/homework0801/config-sharding.yaml create mode 100644 06db/homework0801/init.sql create mode 100644 06db/homework0801/mvnw create mode 100644 06db/homework0801/mvnw.cmd create mode 100644 06db/homework0801/pom.xml create mode 100644 06db/homework0801/server.yaml create mode 100644 06db/homework0801/src/main/java/com/example/homework0801/Homework0801Application.java create mode 100644 06db/homework0801/src/main/java/com/example/homework0801/model/Order.java create mode 100644 06db/homework0801/src/main/java/com/example/homework0801/repository/OrderMapper.java create mode 100644 06db/homework0801/src/main/resources/application.properties create mode 100644 06db/homework0801/src/main/resources/application.yml create mode 100644 06db/homework0801/src/main/resources/mapper/OrderMapper.xml create mode 100644 06db/homework0801/src/test/java/com/example/homework0801/Homework0801ApplicationTests.java diff --git a/06db/homework0801/.gitignore b/06db/homework0801/.gitignore new file mode 100644 index 00000000..bfeebfbb --- /dev/null +++ b/06db/homework0801/.gitignore @@ -0,0 +1,33 @@ +homework0801.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/06db/homework0801/.mvn/wrapper/MavenWrapperDownloader.java b/06db/homework0801/.mvn/wrapper/MavenWrapperDownloader.java new file mode 100644 index 00000000..a45eb6ba --- /dev/null +++ b/06db/homework0801/.mvn/wrapper/MavenWrapperDownloader.java @@ -0,0 +1,118 @@ +/* + * Copyright 2007-present the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import java.net.*; +import java.io.*; +import java.nio.channels.*; +import java.util.Properties; + +public class MavenWrapperDownloader { + + private static final String WRAPPER_VERSION = "0.5.6"; + /** + * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. + */ + private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" + + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar"; + + /** + * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to + * use instead of the default one. + */ + private static final String MAVEN_WRAPPER_PROPERTIES_PATH = + ".mvn/wrapper/maven-wrapper.properties"; + + /** + * Path where the maven-wrapper.jar will be saved to. + */ + private static final String MAVEN_WRAPPER_JAR_PATH = + ".mvn/wrapper/maven-wrapper.jar"; + + /** + * Name of the property which should be used to override the default download url for the wrapper. + */ + private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; + + public static void main(String args[]) { + System.out.println("- Downloader started"); + File baseDirectory = new File(args[0]); + System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); + + // If the maven-wrapper.properties exists, read it and check if it contains a custom + // wrapperUrl parameter. + File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); + String url = DEFAULT_DOWNLOAD_URL; + if (mavenWrapperPropertyFile.exists()) { + FileInputStream mavenWrapperPropertyFileInputStream = null; + try { + mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); + Properties mavenWrapperProperties = new Properties(); + mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); + url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); + } catch (IOException e) { + System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); + } finally { + try { + if (mavenWrapperPropertyFileInputStream != null) { + mavenWrapperPropertyFileInputStream.close(); + } + } catch (IOException e) { + // Ignore ... + } + } + } + System.out.println("- Downloading from: " + url); + + File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); + if (!outputFile.getParentFile().exists()) { + if (!outputFile.getParentFile().mkdirs()) { + System.out.println( + "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); + } + } + System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); + try { + downloadFileFromURL(url, outputFile); + System.out.println("Done"); + System.exit(0); + } catch (Throwable e) { + System.out.println("- Error downloading"); + e.printStackTrace(); + System.exit(1); + } + } + + private static void downloadFileFromURL(String urlString, File destination) throws Exception { + if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { + String username = System.getenv("MVNW_USERNAME"); + char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); + Authenticator.setDefault(new Authenticator() { + @Override + protected PasswordAuthentication getPasswordAuthentication() { + return new PasswordAuthentication(username, password); + } + }); + } + URL website = new URL(urlString); + ReadableByteChannel rbc; + rbc = Channels.newChannel(website.openStream()); + FileOutputStream fos = new FileOutputStream(destination); + fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); + fos.close(); + rbc.close(); + } + +} diff --git a/06db/homework0801/.mvn/wrapper/maven-wrapper.jar b/06db/homework0801/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..2cc7d4a55c0cd0092912bf49ae38b3a9e3fd0054 GIT binary patch literal 50710 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 EfAhh=DF6Tf literal 0 HcmV?d00001 diff --git a/06db/homework0801/.mvn/wrapper/maven-wrapper.properties b/06db/homework0801/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 00000000..ffdc10e5 --- /dev/null +++ b/06db/homework0801/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,2 @@ +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.1/apache-maven-3.8.1-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar diff --git a/06db/homework0801/config-sharding.yaml b/06db/homework0801/config-sharding.yaml new file mode 100644 index 00000000..0661cdc2 --- /dev/null +++ b/06db/homework0801/config-sharding.yaml @@ -0,0 +1,239 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +###################################################################################################### +# +# Here you can configure the rules for the proxy. +# This example is configuration of sharding rule. +# +###################################################################################################### +# +#schemaName: sharding_db +# +#dataSources: +# ds_0: +# url: jdbc:postgresql://127.0.0.1:5432/demo_ds_0?serverTimezone=UTC&useSSL=false +# username: postgres +# password: postgres +# connectionTimeoutMilliseconds: 30000 +# idleTimeoutMilliseconds: 60000 +# maxLifetimeMilliseconds: 1800000 +# maxPoolSize: 50 +# minPoolSize: 1 +# maintenanceIntervalMilliseconds: 30000 +# ds_1: +# url: jdbc:postgresql://127.0.0.1:5432/demo_ds_1?serverTimezone=UTC&useSSL=false +# username: postgres +# password: postgres +# connectionTimeoutMilliseconds: 30000 +# idleTimeoutMilliseconds: 60000 +# maxLifetimeMilliseconds: 1800000 +# maxPoolSize: 50 +# minPoolSize: 1 +# maintenanceIntervalMilliseconds: 30000 +# +#rules: +#- !SHARDING +# tables: +# t_order: +# actualDataNodes: ds_${0..1}.t_order_${0..1} +# tableStrategy: +# standard: +# shardingColumn: order_id +# shardingAlgorithmName: t_order_inline +# keyGenerateStrategy: +# column: order_id +# keyGeneratorName: snowflake +# t_order_item: +# actualDataNodes: ds_${0..1}.t_order_item_${0..1} +# tableStrategy: +# standard: +# shardingColumn: order_id +# shardingAlgorithmName: t_order_item_inline +# keyGenerateStrategy: +# column: order_item_id +# keyGeneratorName: snowflake +# bindingTables: +# - t_order,t_order_item +# defaultDatabaseStrategy: +# standard: +# shardingColumn: user_id +# shardingAlgorithmName: database_inline +# defaultTableStrategy: +# none: +# +# shardingAlgorithms: +# database_inline: +# type: INLINE +# props: +# algorithm-expression: ds_${user_id % 2} +# t_order_inline: +# type: INLINE +# props: +# algorithm-expression: t_order_${order_id % 2} +# t_order_item_inline: +# type: INLINE +# props: +# algorithm-expression: t_order_item_${order_id % 2} +# +# keyGenerators: +# snowflake: +# type: SNOWFLAKE +# props: +# worker-id: 123 + +###################################################################################################### +# +# If you want to connect to MySQL, you should manually copy MySQL driver to lib directory. +# +###################################################################################################### + +#schemaName: sharding_db +# +#dataSources: +# ds_0: +# url: jdbc:mysql://127.0.0.1:3306/demo_ds_0?serverTimezone=UTC&useSSL=false +# username: root +# password: +# connectionTimeoutMilliseconds: 30000 +# idleTimeoutMilliseconds: 60000 +# maxLifetimeMilliseconds: 1800000 +# maxPoolSize: 50 +# minPoolSize: 1 +# maintenanceIntervalMilliseconds: 30000 +# ds_1: +# url: jdbc:mysql://127.0.0.1:3306/demo_ds_1?serverTimezone=UTC&useSSL=false +# username: root +# password: +# connectionTimeoutMilliseconds: 30000 +# idleTimeoutMilliseconds: 60000 +# maxLifetimeMilliseconds: 1800000 +# maxPoolSize: 50 +# minPoolSize: 1 +# maintenanceIntervalMilliseconds: 30000 +# +#rules: +#- !SHARDING +# tables: +# t_order: +# actualDataNodes: ds_${0..1}.t_order_${0..1} +# tableStrategy: +# standard: +# shardingColumn: order_id +# shardingAlgorithmName: t_order_inline +# keyGenerateStrategy: +# column: order_id +# keyGeneratorName: snowflake +# t_order_item: +# actualDataNodes: ds_${0..1}.t_order_item_${0..1} +# tableStrategy: +# standard: +# shardingColumn: order_id +# shardingAlgorithmName: t_order_item_inline +# keyGenerateStrategy: +# column: order_item_id +# keyGeneratorName: snowflake +# bindingTables: +# - t_order,t_order_item +# defaultDatabaseStrategy: +# standard: +# shardingColumn: user_id +# shardingAlgorithmName: database_inline +# defaultTableStrategy: +# none: +# +# shardingAlgorithms: +# database_inline: +# type: INLINE +# props: +# algorithm-expression: ds_${user_id % 2} +# t_order_inline: +# type: INLINE +# props: +# algorithm-expression: t_order_${order_id % 2} +# t_order_item_inline: +# type: INLINE +# props: +# algorithm-expression: t_order_item_${order_id % 2} +# +# keyGenerators: +# snowflake: +# type: SNOWFLAKE +# props: +# worker-id: 123 + + + +schemaName: sharding_db +dataSources: + ds0: + url: jdbc:mysql://localhost:3306/ds0?serverTimezone=Asia/Shanghai&useSSL=false + username: root + password: 1234 + connectionTimeoutMilliseconds: 30000 + idleTimeoutMilliseconds: 60000 + maxLifetimeMilliseconds: 1800000 + maxPoolSize: 5 + minPoolSize: 1 + maintenanceIntervalMilliseconds: 30000 + ds1: + url: jdbc:mysql://localhost:3306/ds1?serverTimezone=Asia/Shanghai&useSSL=false + username: root + password: 1234 + connectionTimeoutMilliseconds: 30000 + idleTimeoutMilliseconds: 60000 + maxLifetimeMilliseconds: 1800000 + maxPoolSize: 5 + minPoolSize: 1 + maintenanceIntervalMilliseconds: 30000 + +rules: + - !SHARDING + tables: + t_order: + actualDataNodes: ds${0..1}.t_order_${0..15} + tableStrategy: + standard: + shardingColumn: order_id + shardingAlgorithmName: t_order_inline + keyGenerateStrategy: + column: order_id + keyGeneratorName: snowflake + bindingTables: + - t_order + defaultDatabaseStrategy: + standard: + shardingColumn: user_id + shardingAlgorithmName: database_inline + defaultTableStrategy: + none: + + shardingAlgorithms: + database_inline: + type: INLINE + props: + algorithm-expression: ds${user_id % 2} + t_order_inline: + type: INLINE + props: + algorithm-expression: t_order_${order_id % 16} + + keyGenerators: + snowflake: + type: SNOWFLAKE + props: + worker-id: 123 diff --git a/06db/homework0801/init.sql b/06db/homework0801/init.sql new file mode 100644 index 00000000..e6c0c72d --- /dev/null +++ b/06db/homework0801/init.sql @@ -0,0 +1,66 @@ +## åˆ†åŗ“åˆ†č”Ø +CREATE TABLE IF NOT EXISTS ds0.t_order_0 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_1 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_2 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_3 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_4 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_5 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_6 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_7 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_8 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_9 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_10 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_11 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_12 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_13 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_14 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds0.t_order_15 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); + +CREATE TABLE IF NOT EXISTS ds1.t_order_0 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_1 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_2 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_3 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_4 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_5 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_6 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_7 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_8 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_9 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_10 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_11 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_12 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_13 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_14 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS ds1.t_order_15 (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status + VARCHAR(50), PRIMARY KEY (order_id)); diff --git a/06db/homework0801/mvnw b/06db/homework0801/mvnw new file mode 100644 index 00000000..a16b5431 --- /dev/null +++ b/06db/homework0801/mvnw @@ -0,0 +1,310 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Maven Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "`uname`" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="`/usr/libexec/java_home`" + else + export JAVA_HOME="/Library/Java/Home" + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=`java-config --jre-home` + fi +fi + +if [ -z "$M2_HOME" ] ; then + ## resolve links - $0 may be a link to maven's home + PRG="$0" + + # need this for relative symlinks + while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG="`dirname "$PRG"`/$link" + fi + done + + saveddir=`pwd` + + M2_HOME=`dirname "$PRG"`/.. + + # make it fully qualified + M2_HOME=`cd "$M2_HOME" && pwd` + + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --unix "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$M2_HOME" ] && + M2_HOME="`(cd "$M2_HOME"; pwd)`" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="`which javac`" + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=`which readlink` + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + if $darwin ; then + javaHome="`dirname \"$javaExecutable\"`" + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + else + javaExecutable="`readlink -f \"$javaExecutable\"`" + fi + javaHome="`dirname \"$javaExecutable\"`" + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="`which java`" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=`cd "$wdir/.."; pwd` + fi + # end of workaround + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' < "$1")" + fi +} + +BASE_DIR=`find_maven_basedir "$(pwd)"` +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found .mvn/wrapper/maven-wrapper.jar" + fi +else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + fi + if [ -n "$MVNW_REPOURL" ]; then + jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + fi + while IFS="=" read key value; do + case "$key" in (wrapperUrl) jarUrl="$value"; break ;; + esac + done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Downloading from: $jarUrl" + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + fi + + if command -v wget > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found wget ... using wget" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget "$jarUrl" -O "$wrapperJarPath" + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found curl ... using curl" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl -o "$wrapperJarPath" "$jarUrl" -f + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + fi + + else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Falling back to using Java to download" + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaClass=`cygpath --path --windows "$javaClass"` + fi + if [ -e "$javaClass" ]; then + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Compiling MavenWrapperDownloader.java ..." + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Running MavenWrapperDownloader.java ..." + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +if [ "$MVNW_VERBOSE" = true ]; then + echo $MAVEN_PROJECTBASEDIR +fi +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --path --windows "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/06db/homework0801/mvnw.cmd b/06db/homework0801/mvnw.cmd new file mode 100644 index 00000000..c8d43372 --- /dev/null +++ b/06db/homework0801/mvnw.cmd @@ -0,0 +1,182 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Maven Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" +if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + +FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" +if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%" == "on" pause + +if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% + +exit /B %ERROR_CODE% diff --git a/06db/homework0801/pom.xml b/06db/homework0801/pom.xml new file mode 100644 index 00000000..0a76ec28 --- /dev/null +++ b/06db/homework0801/pom.xml @@ -0,0 +1,74 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.2.1.RELEASE + + + com.example + homework0801 + 0.0.1-SNAPSHOT + homework0801 + Demo project for Spring Boot + + 1.8 + + + + + + + + + + + + + com.baomidou + mybatis-plus-boot-starter + 3.3.1 + + + com.baomidou + mybatis-plus-generator + + + + + mysql + mysql-connector-java + runtime + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/06db/homework0801/server.yaml b/06db/homework0801/server.yaml new file mode 100644 index 00000000..8bce2429 --- /dev/null +++ b/06db/homework0801/server.yaml @@ -0,0 +1,24 @@ + +rules: + - !AUTHORITY + users: + - root@%:root + - sharding@:sharding + provider: + type: NATIVE + +props: + max-connections-size-per-query: 1 + executor-size: 16 # Infinite by default. + proxy-frontend-flush-threshold: 128 # The default value is 128. + # LOCAL: Proxy will run with LOCAL transaction. + # XA: Proxy will run with XA transaction. + # BASE: Proxy will run with B.A.S.E transaction. + proxy-transaction-type: LOCAL + xa-transaction-manager-type: Atomikos + proxy-opentracing-enabled: false + proxy-hint-enabled: false + query-with-cipher-column: true + sql-show: true + check-table-metadata-enabled: false + lock-wait-timeout-milliseconds: 50000 # The maximum time to wait for a lock diff --git a/06db/homework0801/src/main/java/com/example/homework0801/Homework0801Application.java b/06db/homework0801/src/main/java/com/example/homework0801/Homework0801Application.java new file mode 100644 index 00000000..7cd582ba --- /dev/null +++ b/06db/homework0801/src/main/java/com/example/homework0801/Homework0801Application.java @@ -0,0 +1,17 @@ +package com.example.homework0801; + +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.transaction.jta.JtaAutoConfiguration; + +@MapperScan("com.example.homework0801.repository") +@SpringBootApplication(exclude = JtaAutoConfiguration.class) + +public class Homework0801Application { + + public static void main(String[] args) { + SpringApplication.run(Homework0801Application.class, args); + } + +} diff --git a/06db/homework0801/src/main/java/com/example/homework0801/model/Order.java b/06db/homework0801/src/main/java/com/example/homework0801/model/Order.java new file mode 100644 index 00000000..d44ae71b --- /dev/null +++ b/06db/homework0801/src/main/java/com/example/homework0801/model/Order.java @@ -0,0 +1,49 @@ +package com.example.homework0801.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + + +/** + * Order + * + * @author zengqi + * @date 2021/8/9 17:13 + */ + +@Data +@TableName("t_order") +public class Order { + @TableId + @TableField("order_id") + private Long orderId; + @TableField("user_id") + private Long userId; + private String status; + + public Long getOrderId() { + return orderId; + } + + public void setOrderId(Long orderId) { + this.orderId = orderId; + } + + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } +} diff --git a/06db/homework0801/src/main/java/com/example/homework0801/repository/OrderMapper.java b/06db/homework0801/src/main/java/com/example/homework0801/repository/OrderMapper.java new file mode 100644 index 00000000..b912057b --- /dev/null +++ b/06db/homework0801/src/main/java/com/example/homework0801/repository/OrderMapper.java @@ -0,0 +1,15 @@ +package com.example.homework0801.repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.example.homework0801.model.Order; +import org.springframework.stereotype.Repository; + +/** + * repository + * + * @author zengqi + * @date 2021/8/3 16:55 + */ +@Repository +public interface OrderMapper extends BaseMapper { +} diff --git a/06db/homework0801/src/main/resources/application.properties b/06db/homework0801/src/main/resources/application.properties new file mode 100644 index 00000000..7735a579 --- /dev/null +++ b/06db/homework0801/src/main/resources/application.properties @@ -0,0 +1,47 @@ +##mybatis +#mybatis-plus.mapper-locations=classpath*:/mapper/*.xml +#mybatis-plus.type-aliases-package=com.example.homework0801.model.* +#mybatis-plus.global-config.banner=false +#mybatis-plus.configuration.cache-enabled=false +#mybatis-plus.global-config.db-config.id-type=auto +#mybatis-plus.configuration.map-underscore-to-camel-case=true +#mybatis-plus.configuration.call-setters-on-nulls=true +#mybatis-plus.configuration.jdbc-type-for-null=null +# +# +#spring.shardingsphere.datasource.common.type=com.zaxxer.hikari.HikariDataSource +#spring.shardingsphere.datasource.common.driver-class-name=com.mysql.jdbc.Driver +##spring.shardingsphere.datasource.common.jdbc-url=jdbc:mysql://localhost:3306/ds0?characterEncoding=utf8&serverTimezone\ +## =Asia/Shanghai&rewriteBatchedStatements=true +#spring.shardingsphere.datasource.common.username=root +#spring.shardingsphere.datasource.common.password=1234 +#spring.shardingsphere.props.sql-show=true + +## \u914D\u7F6E\u771F\u5B9E\u6570\u636E\u6E90 +#spring.shardingsphere.datasource.names=ds0,ds1 +## \u914D\u7F6E\u7B2C 1 \u4E2A\u6570\u636E\u6E90 +#spring.shardingsphere.datasource.ds0.type=com.zaxxer.hikari.HikariDataSource +#spring.shardingsphere.datasource.ds0.driver-class-name=com.mysql.jdbc.Driver +#spring.shardingsphere.datasource.ds0.jdbc-url=jdbc:mysql://localhost:3306/ds0?characterEncoding=utf8&serverTimezone\ +# =Asia/Shanghai +#spring.shardingsphere.datasource.ds0.username=root +#spring.shardingsphere.datasource.ds0.password=1234 +## \u914D\u7F6E\u7B2C 2 \u4E2A\u6570\u636E\u6E90 +#spring.shardingsphere.datasource.ds1.type=com.zaxxer.hikari.HikariDataSource +#spring.shardingsphere.datasource.ds1.driver-class-name=com.mysql.jdbc.Driver +#spring.shardingsphere.datasource.ds1.jdbc-url=jdbc:mysql://localhost:3306/ds1?characterEncoding=utf8&serverTimezone\ +# =Asia/Shanghai +#spring.shardingsphere.datasource.ds1.username=root +#spring.shardingsphere.datasource.ds1.password=1234 +# +# +#spring.shardingsphere.sharding.default-database-strategy.inline.sharding-column=user_id +#spring.shardingsphere.sharding.default-database-strategy.inline.algorithm-expression=ds$->{user_id % 2} +#spring.shardingsphere.sharding.binding-tables=t_order +# +#spring.shardingsphere.sharding.tables.t_order.actual-data-nodes=ds$->{0..1}.t_order_$->{0..15} +#spring.shardingsphere.sharding.tables.t_order.table-strategy.inline.sharding-column=order_id +#spring.shardingsphere.sharding.tables.t_order.table-strategy.inline.algorithm-expression=t_order_$->{order_id % 15} +#spring.shardingsphere.sharding.tables.t_order.key-generator.column=order_id +#spring.shardingsphere.sharding.tables.t_order.key-generator.type=SNOWFLAKE +#spring.shardingsphere.sharding.tables.t_order.key-generator.props.worker.id=123 diff --git a/06db/homework0801/src/main/resources/application.yml b/06db/homework0801/src/main/resources/application.yml new file mode 100644 index 00000000..73e916bc --- /dev/null +++ b/06db/homework0801/src/main/resources/application.yml @@ -0,0 +1,21 @@ +#mybatis +mybatis-plus: + mapper-locations: classpath*:/mapper/*.xml + typeAliasesPackage: com.example.homework0801.model.* + global-config: + #db-config: + # id-type: AUTO + banner: false + configuration: + map-underscore-to-camel-case: true + cache-enabled: false + call-setters-on-nulls: true + jdbc-type-for-null: 'null' + +#ę•°ę®ęŗé…ē½®ļ¼Œ čæ™é‡Œé…ē½®ęˆsharding-proxyēš„čæžęŽ„å’Œē”Øęˆ·ååÆ†ē  +spring: + datasource: + url: jdbc:mysql://localhost:3307/sharding_db?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false + driver-class-name: com.mysql.cj.jdbc.Driver + username: root + password: root diff --git a/06db/homework0801/src/main/resources/mapper/OrderMapper.xml b/06db/homework0801/src/main/resources/mapper/OrderMapper.xml new file mode 100644 index 00000000..d0a55a07 --- /dev/null +++ b/06db/homework0801/src/main/resources/mapper/OrderMapper.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/06db/homework0801/src/test/java/com/example/homework0801/Homework0801ApplicationTests.java b/06db/homework0801/src/test/java/com/example/homework0801/Homework0801ApplicationTests.java new file mode 100644 index 00000000..9baf4f93 --- /dev/null +++ b/06db/homework0801/src/test/java/com/example/homework0801/Homework0801ApplicationTests.java @@ -0,0 +1,56 @@ +package com.example.homework0801; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.example.homework0801.model.Order; +import com.example.homework0801.repository.OrderMapper; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import java.util.List; + +@SpringBootTest +@RunWith(SpringRunner.class) +public class Homework0801ApplicationTests { + + @Autowired + OrderMapper orderRepository; + + @Test + public void writeTest() { + for (int i = 0; i <= 1000; i++) { + Order order = new Order(); + order.setUserId(Long.valueOf(i)); + order.setStatus("NORAMAL"); + int orderResult = orderRepository.insert(order); + Assert.assertEquals(1, orderResult); + } + } + + + + @Test + public void updateTest() { + //ę­¤å¤„å·²åŒ…å«ęŸ„čÆ¢ + List orderList = orderRepository.selectList(new QueryWrapper<>()); + Order order = orderList.get(0); + long now = System.currentTimeMillis(); + order.setStatus("updated"); + //äøčƒ½ę›“ę–°ē”ØäŗŽåˆ†åŗ“ēš„é”® + order.setUserId(null); + int result = orderRepository.updateById(order); + Assert.assertEquals(1, result); + } + + @Test + public void deleteTest() { + int count = orderRepository.delete(new QueryWrapper<>()); + Assert.assertEquals(1001, count); + + } + + +} From 8dda3cadfdbe0ca01818fe859d0bfd6fe66bc0aa Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Thu, 12 Aug 2021 09:32:09 +0800 Subject: [PATCH 33/42] =?UTF-8?q?week08=20=E5=BF=85=E5=81=9A=E9=A2=986=20?= =?UTF-8?q?=20=E5=9F=BA=E4=BA=8E=20hmily=20TCC=20=E6=88=96=20ShardingSpher?= =?UTF-8?q?e=20=E7=9A=84=20Atomikos=20XA=20=E5=AE=9E=E7=8E=B0=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E7=AE=80=E5=8D=95=E7=9A=84=E5=88=86=E5=B8=83=E5=BC=8F?= =?UTF-8?q?=E4=BA=8B=E5=8A=A1=E5=BA=94=E7=94=A8=20demo=EF=BC=88=E4=BA=8C?= =?UTF-8?q?=E9=80=89=E4=B8=80=EF=BC=89=EF=BC=8C=E6=8F=90=E4=BA=A4=E5=88=B0?= =?UTF-8?q?=20Github?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit é¦–å…ˆåœØä½œäøš2ēš„åŸŗē”€äøŠå·²ē»é…ē½®äŗ†ļ¼Œē”³ę˜Žä½æē”ØAtomikosēš„XAäŗ‹åŠ” xa-transaction-manager-type: Atomikos ē„¶åŽåœØserviceå±‚å¢žåŠ äŗ‹åŠ”ēš„ä½æē”Øļ¼š @Transactional @ShardingTransactionType(TransactionType.XA) ęœ€åŽå•å…ƒęµ‹čÆ•ä½æē”Øę­¤å£°ę˜Žčæ‡ä½æē”Øäŗ‹åŠ”ēš„ę–¹ę³•å³åÆ --- 06db/homework0801/pom.xml | 6 ++++ .../homework0801/service/OrderService.java | 13 +++++++++ .../service/OrderServiceImpl.java | 28 +++++++++++++++++++ .../Homework0801ApplicationTests.java | 17 +++++++++++ 4 files changed, 64 insertions(+) create mode 100644 06db/homework0801/src/main/java/com/example/homework0801/service/OrderService.java create mode 100644 06db/homework0801/src/main/java/com/example/homework0801/service/OrderServiceImpl.java diff --git a/06db/homework0801/pom.xml b/06db/homework0801/pom.xml index 0a76ec28..3f339eee 100644 --- a/06db/homework0801/pom.xml +++ b/06db/homework0801/pom.xml @@ -52,6 +52,12 @@ spring-boot-starter-test test + + org.apache.shardingsphere + shardingsphere-transaction-core + 5.0.0-alpha + compile + diff --git a/06db/homework0801/src/main/java/com/example/homework0801/service/OrderService.java b/06db/homework0801/src/main/java/com/example/homework0801/service/OrderService.java new file mode 100644 index 00000000..cc5b8e14 --- /dev/null +++ b/06db/homework0801/src/main/java/com/example/homework0801/service/OrderService.java @@ -0,0 +1,13 @@ +package com.example.homework0801.service; + +import com.example.homework0801.model.Order; + +/** + * OrderService + * + * @author zengqi + * @date 2021/8/12 9:14 + */ +public interface OrderService { + void insert(Order order); +} diff --git a/06db/homework0801/src/main/java/com/example/homework0801/service/OrderServiceImpl.java b/06db/homework0801/src/main/java/com/example/homework0801/service/OrderServiceImpl.java new file mode 100644 index 00000000..d260e96b --- /dev/null +++ b/06db/homework0801/src/main/java/com/example/homework0801/service/OrderServiceImpl.java @@ -0,0 +1,28 @@ +package com.example.homework0801.service; + +import com.example.homework0801.model.Order; +import com.example.homework0801.repository.OrderMapper; +import org.apache.shardingsphere.transaction.annotation.ShardingTransactionType; +import org.apache.shardingsphere.transaction.core.TransactionType; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * OrderServiceImpl + * + * @author zengqi + * @date 2021/8/12 9:15 + */ +@Service +public class OrderServiceImpl implements OrderService{ + + @Autowired + OrderMapper orderMapper; + @Override + @Transactional + @ShardingTransactionType(TransactionType.XA) + public void insert(Order order) { + orderMapper.insert(order); + } +} diff --git a/06db/homework0801/src/test/java/com/example/homework0801/Homework0801ApplicationTests.java b/06db/homework0801/src/test/java/com/example/homework0801/Homework0801ApplicationTests.java index 9baf4f93..ca15de3c 100644 --- a/06db/homework0801/src/test/java/com/example/homework0801/Homework0801ApplicationTests.java +++ b/06db/homework0801/src/test/java/com/example/homework0801/Homework0801ApplicationTests.java @@ -52,5 +52,22 @@ public void deleteTest() { } + @Test + public void xaTest() { + for (int i = 0; i <= 5; i++) { + Order order = new Order(); + order.setUserId(Long.valueOf(i)); + order.setStatus("xa"); + int orderResult = orderRepository.insert(order); + Assert.assertEquals(1, orderResult); + + Order order2 = new Order(); + order2.setUserId(Long.valueOf(i)); + order2.setStatus("xa2"); + int orderResult2 = orderRepository.insert(order2); + Assert.assertEquals(1, orderResult2); + + } + } } From d1b2e5491b669d193d56bb565ae87a8d287f5e2e Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Thu, 12 Aug 2021 09:51:01 +0800 Subject: [PATCH 34/42] =?UTF-8?q?week08=20=E5=B0=86=E6=96=87=E5=AD=97?= =?UTF-8?q?=E6=8F=8F=E8=BF=B0=E6=B1=87=E6=80=BB=E5=88=B0MD=E6=96=87?= =?UTF-8?q?=E4=BB=B6=EF=BC=8C=E5=AE=8C=E6=88=90=E5=BF=85=E5=81=9A=E9=A2=98?= =?UTF-8?q?2,6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 06db/homework0801/homework0801.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/06db/homework0801/homework0801.md b/06db/homework0801/homework0801.md index 3e64253b..53d86bd2 100644 --- a/06db/homework0801/homework0801.md +++ b/06db/homework0801/homework0801.md @@ -15,7 +15,7 @@ server.yaml @ShardingTransactionType(TransactionType.XA) ęœ€åŽå•å…ƒęµ‹čÆ•ä½æē”Øę­¤å£°ę˜Žčæ‡ä½æē”Øäŗ‹åŠ”ēš„ę–¹ę³•å³åÆ - +Homework0801ApplicationTests å•å…ƒęµ‹čÆ•äø­čæ›č”Œå¢žåˆ ę”¹ęŸ„č®°å½•ēš„éƒØåˆ†ę—„åæ—ļ¼š ``` [INFO ] 2021-08-11 17:26:32.755 [ShardingSphere-Command-18] ShardingSphere-SQL - Logic SQL: INSERT INTO t_order ( order_id, From a47d1444338d1440c6cdb988ec5f008058d6e881 Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Mon, 16 Aug 2021 10:43:22 +0800 Subject: [PATCH 35/42] =?UTF-8?q?week09=203.=EF=BC=88=E5=BF=85=E5=81=9A?= =?UTF-8?q?=EF=BC=89=E6=94=B9=E9=80=A0=E8=87=AA=E5=AE=9A=E4=B9=89=20RPC=20?= =?UTF-8?q?=E7=9A=84=E7=A8=8B=E5=BA=8F=EF=BC=8C=E6=8F=90=E4=BA=A4=E5=88=B0?= =?UTF-8?q?=20GitHub=EF=BC=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit å°čÆ•å°†ęœåŠ”ē«Æå†™ę­»ęŸ„ę‰¾ęŽ„å£å®žēŽ°ē±»å˜ęˆę³›åž‹å’Œåå°„ļ¼› å°čÆ•å°†å®¢ęˆ·ē«ÆåŠØę€ä»£ē†ę”¹ęˆ AOPļ¼Œę·»åŠ å¼‚åøøå¤„ē†ļ¼› å°čÆ•ä½æē”Ø Netty+HTTP 作为 client ē«Æä¼ č¾“ę–¹å¼ć€‚ --- 07rpc/rpc01/pom.xml | 6 ++ 07rpc/rpc01/rpcfx-core/pom.xml | 7 +- .../io/kimmking/rpcfx/api/RpcfxResolver.java | 3 +- .../rpcfx/client/CglibMethodInterceptor.java | 62 ++++++++++++++ .../java/io/kimmking/rpcfx/client/Rpcfx.java | 83 +++++++++++++++++-- .../kimmking/rpcfx/server/RpcfxException.java | 18 ++++ .../kimmking/rpcfx/server/RpcfxInvoker.java | 18 ++-- .../rpcfx/demo/provider/DemoResolver.java | 7 +- 8 files changed, 187 insertions(+), 17 deletions(-) create mode 100644 07rpc/rpc01/rpcfx-core/src/main/java/io/kimmking/rpcfx/client/CglibMethodInterceptor.java create mode 100644 07rpc/rpc01/rpcfx-core/src/main/java/io/kimmking/rpcfx/server/RpcfxException.java diff --git a/07rpc/rpc01/pom.xml b/07rpc/rpc01/pom.xml index 62b29db1..dd6bdfd7 100644 --- a/07rpc/rpc01/pom.xml +++ b/07rpc/rpc01/pom.xml @@ -31,6 +31,12 @@ org.springframework.boot spring-boot-starter + + org.projectlombok + lombok + 1.18.16 + provided + org.springframework.boot diff --git a/07rpc/rpc01/rpcfx-core/pom.xml b/07rpc/rpc01/rpcfx-core/pom.xml index 4570a59d..bd1b91a8 100644 --- a/07rpc/rpc01/rpcfx-core/pom.xml +++ b/07rpc/rpc01/rpcfx-core/pom.xml @@ -35,8 +35,6 @@ okhttp 3.12.2 - - org.apache.curator curator-client @@ -70,6 +68,11 @@ + + io.netty + netty-all + 4.1.51.Final + diff --git a/07rpc/rpc01/rpcfx-core/src/main/java/io/kimmking/rpcfx/api/RpcfxResolver.java b/07rpc/rpc01/rpcfx-core/src/main/java/io/kimmking/rpcfx/api/RpcfxResolver.java index f7c48068..f5f46d36 100644 --- a/07rpc/rpc01/rpcfx-core/src/main/java/io/kimmking/rpcfx/api/RpcfxResolver.java +++ b/07rpc/rpc01/rpcfx-core/src/main/java/io/kimmking/rpcfx/api/RpcfxResolver.java @@ -1,7 +1,8 @@ package io.kimmking.rpcfx.api; -public interface RpcfxResolver { +public interface RpcfxResolver { Object resolve(String serviceClass); + T resolve(Class serviceClass); } diff --git a/07rpc/rpc01/rpcfx-core/src/main/java/io/kimmking/rpcfx/client/CglibMethodInterceptor.java b/07rpc/rpc01/rpcfx-core/src/main/java/io/kimmking/rpcfx/client/CglibMethodInterceptor.java new file mode 100644 index 00000000..03c49c4b --- /dev/null +++ b/07rpc/rpc01/rpcfx-core/src/main/java/io/kimmking/rpcfx/client/CglibMethodInterceptor.java @@ -0,0 +1,62 @@ +package io.kimmking.rpcfx.client; + +import com.alibaba.fastjson.JSON; +import io.kimmking.rpcfx.api.Filter; +import io.kimmking.rpcfx.api.RpcfxRequest; +import io.kimmking.rpcfx.api.RpcfxResponse; +import okhttp3.MediaType; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.RequestBody; +import org.springframework.cglib.proxy.MethodInterceptor; +import org.springframework.cglib.proxy.MethodProxy; + +import java.io.IOException; +import java.lang.reflect.Method; + +/** + * CglibMethodInterceptor + * + * @author zengqi + * @date 2021/8/15 15:50 + */ +public class CglibMethodInterceptor implements MethodInterceptor { + public static final MediaType JSONTYPE = MediaType.get("application/json; charset=utf-8"); + + private final Class serviceClass; + private final String url; + private final Filter[] filters; + + public CglibMethodInterceptor(Class serviceClass, String url, Filter... filters) { + this.serviceClass = serviceClass; + this.url = url; + this.filters = filters; + } + + @Override + public Object intercept(Object obj, Method method, Object[] args, MethodProxy methodProxy) throws Throwable { + System.out.println("=====åŸŗäŗŽå­—čŠ‚ē åŠ å¼ŗ"); + RpcfxRequest request = new RpcfxRequest(); + request.setServiceClass(this.serviceClass.getName()); + request.setMethod(method.getName()); + request.setParams(args); + RpcfxResponse response = post(request, url); + return JSON.parse(response.getResult().toString()); + } + + private RpcfxResponse post(RpcfxRequest req, String url) throws IOException { + String reqJson = JSON.toJSONString(req); + System.out.println("req json: " + reqJson); + + // 1.åÆä»„å¤ē”Øclient + // 2.å°čÆ•ä½æē”Øhttpclientꈖ者netty client + OkHttpClient client = new OkHttpClient(); + final Request request = new Request.Builder() + .url(url) + .post(RequestBody.create(JSONTYPE, reqJson)) + .build(); + String respJson = client.newCall(request).execute().body().string(); + System.out.println("resp json: " + respJson); + return JSON.parseObject(respJson, RpcfxResponse.class); + } +} diff --git a/07rpc/rpc01/rpcfx-core/src/main/java/io/kimmking/rpcfx/client/Rpcfx.java b/07rpc/rpc01/rpcfx-core/src/main/java/io/kimmking/rpcfx/client/Rpcfx.java index 5d1ae517..c9914348 100644 --- a/07rpc/rpc01/rpcfx-core/src/main/java/io/kimmking/rpcfx/client/Rpcfx.java +++ b/07rpc/rpc01/rpcfx-core/src/main/java/io/kimmking/rpcfx/client/Rpcfx.java @@ -3,16 +3,36 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.parser.ParserConfig; -import io.kimmking.rpcfx.api.*; +import io.kimmking.rpcfx.api.Filter; +import io.kimmking.rpcfx.api.LoadBalancer; +import io.kimmking.rpcfx.api.Router; +import io.kimmking.rpcfx.api.RpcfxRequest; +import io.kimmking.rpcfx.api.RpcfxResponse; +import io.netty.bootstrap.Bootstrap; +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; +import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.ChannelInitializer; +import io.netty.channel.ChannelPipeline; +import io.netty.channel.EventLoopGroup; +import io.netty.channel.SimpleChannelInboundHandler; +import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.socket.SocketChannel; +import io.netty.channel.socket.nio.NioSocketChannel; +import io.netty.handler.codec.http.*; import okhttp3.MediaType; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; +import org.springframework.cglib.proxy.Enhancer; import java.io.IOException; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; -import java.lang.reflect.Proxy; +import java.net.URI; +import java.net.URISyntaxException; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; @@ -42,8 +62,12 @@ public static T createFromRegistry(final Class serviceClass, fin public static T create(final Class serviceClass, final String url, Filter... filters) { // 0. ę›æę¢åŠØę€ä»£ē† -> å­—čŠ‚ē ē”Ÿęˆ - return (T) Proxy.newProxyInstance(Rpcfx.class.getClassLoader(), new Class[]{serviceClass}, new RpcfxInvocationHandler(serviceClass, url, filters)); - + // return (T) Proxy.newProxyInstance(Rpcfx.class.getClassLoader(), new Class[]{serviceClass}, + // new RpcfxInvocationHandler(serviceClass, url, filters)); + Enhancer enhancer = new Enhancer(); + enhancer.setCallback(new CglibMethodInterceptor(serviceClass, url,filters)); + enhancer.setSuperclass(serviceClass); + return (T) enhancer.create(); } public static class RpcfxInvocationHandler implements InvocationHandler { @@ -83,7 +107,8 @@ public Object invoke(Object proxy, Method method, Object[] params) throws Throwa } } - RpcfxResponse response = post(request, url); + //RpcfxResponse response = post(request, url); + RpcfxResponse response = postByNetty(request, url); // 加filteråœ°ę–¹ä¹‹äø‰ // Student.setTeacher("cuijing"); @@ -109,5 +134,53 @@ private RpcfxResponse post(RpcfxRequest req, String url) throws IOException { System.out.println("resp json: "+respJson); return JSON.parseObject(respJson, RpcfxResponse.class); } + + private RpcfxResponse postByNetty(RpcfxRequest req, String url) throws Exception { + String reqJson = JSON.toJSONString(req); + System.out.println("req json: "+reqJson); + + EventLoopGroup bossGroup = new NioEventLoopGroup(); + Bootstrap bs = new Bootstrap(); + final RpcfxResponse finalResponse = new RpcfxResponse(); + bs.group(bossGroup) + .channel(NioSocketChannel.class) + .handler(new ChannelInitializer() { + @Override + protected void initChannel(SocketChannel socketChannel) throws Exception { + ChannelPipeline p = socketChannel.pipeline(); + p.addLast(new HttpClientCodec()); + p.addLast(new HttpContentDecompressor()); + p.addLast(new HttpObjectAggregator(65533)); + p.addLast(new SimpleChannelInboundHandler() { + @Override + protected void channelRead0(ChannelHandlerContext channelHandlerContext, FullHttpResponse response) throws Exception { + String respJson = response.content().toString(StandardCharsets.UTF_8); + RpcfxResponse rpcfxResponse = JSON.parseObject(respJson, RpcfxResponse.class); + finalResponse.setException(rpcfxResponse.getException()); + finalResponse.setStatus(rpcfxResponse.isStatus()); + finalResponse.setResult(rpcfxResponse.getResult()); + } + }); + } + }); + try { + URI uri = new URI(url); + Channel ch = bs.connect(uri.getHost(), uri.getPort()).sync().channel(); + FullHttpRequest request = new DefaultFullHttpRequest(HttpVersion.HTTP_1_1, HttpMethod.POST, uri.getRawPath()); + request.headers().set(HttpHeaderNames.HOST, uri.getHost()); + request.headers().set(HttpHeaderNames.CONNECTION, HttpHeaderValues.CLOSE); + request.headers().set(HttpHeaderNames.ACCEPT_ENCODING, HttpHeaderValues.GZIP); + request.headers().add(HttpHeaderNames.CONTENT_TYPE, JSONTYPE); + ByteBuf bbuf = Unpooled.copiedBuffer(reqJson, StandardCharsets.UTF_8); + request.headers().set(HttpHeaderNames.CONTENT_LENGTH, bbuf.readableBytes()); + request.content().clear().writeBytes(bbuf); + ch.writeAndFlush(request); + ch.closeFuture().sync(); + bossGroup.shutdownGracefully(); + } catch (InterruptedException | URISyntaxException e) { + e.printStackTrace(); + } + return finalResponse; + } } } diff --git a/07rpc/rpc01/rpcfx-core/src/main/java/io/kimmking/rpcfx/server/RpcfxException.java b/07rpc/rpc01/rpcfx-core/src/main/java/io/kimmking/rpcfx/server/RpcfxException.java new file mode 100644 index 00000000..352bd463 --- /dev/null +++ b/07rpc/rpc01/rpcfx-core/src/main/java/io/kimmking/rpcfx/server/RpcfxException.java @@ -0,0 +1,18 @@ +package io.kimmking.rpcfx.server; + +/** + * RpcfxException + * + * @author zengqi + * @date 2021/8/16 9:04 + */ +public class RpcfxException extends Exception { + public RpcfxException(Throwable cause) { + super(cause); + } + + + public RpcfxException(String message, Throwable cause) { + super(message, cause); + } +} diff --git a/07rpc/rpc01/rpcfx-core/src/main/java/io/kimmking/rpcfx/server/RpcfxInvoker.java b/07rpc/rpc01/rpcfx-core/src/main/java/io/kimmking/rpcfx/server/RpcfxInvoker.java index a6f77dac..836f0feb 100644 --- a/07rpc/rpc01/rpcfx-core/src/main/java/io/kimmking/rpcfx/server/RpcfxInvoker.java +++ b/07rpc/rpc01/rpcfx-core/src/main/java/io/kimmking/rpcfx/server/RpcfxInvoker.java @@ -10,11 +10,11 @@ import java.lang.reflect.Method; import java.util.Arrays; -public class RpcfxInvoker { +public class RpcfxInvoker { - private RpcfxResolver resolver; + private RpcfxResolver resolver; - public RpcfxInvoker(RpcfxResolver resolver){ + public RpcfxInvoker(RpcfxResolver resolver){ this.resolver = resolver; } @@ -23,23 +23,25 @@ public RpcfxResponse invoke(RpcfxRequest request) { String serviceClass = request.getServiceClass(); // 作业1ļ¼šę”¹ęˆę³›åž‹å’Œåå°„ - Object service = resolver.resolve(serviceClass);//this.applicationContext.getBean(serviceClass); + // Object service = resolver.resolve(serviceClass);//this.applicationContext.getBean(serviceClass); try { + // 作业1ļ¼šę”¹ęˆę³›åž‹å’Œåå°„ + Class serviceClz = (Class) Class.forName(serviceClass); + T service = resolver.resolve(serviceClz); Method method = resolveMethodFromClass(service.getClass(), request.getMethod()); Object result = method.invoke(service, request.getParams()); // dubbo, fastjson, // 两欔jsonåŗåˆ—åŒ–čƒ½å¦åˆå¹¶ęˆäø€äøŖ response.setResult(JSON.toJSONString(result, SerializerFeature.WriteClassName)); response.setStatus(true); return response; - } catch ( IllegalAccessException | InvocationTargetException e) { + } catch (IllegalAccessException | InvocationTargetException | ClassNotFoundException e) { // 3.Xstream - + RpcfxException rpcfxException = new RpcfxException(e); // 2.å°č£…äø€äøŖē»Ÿäø€ēš„RpcfxException // å®¢ęˆ·ē«Æä¹Ÿéœ€č¦åˆ¤ę–­å¼‚åøø - e.printStackTrace(); - response.setException(e); + response.setException(rpcfxException); response.setStatus(false); return response; } diff --git a/07rpc/rpc01/rpcfx-demo-provider/src/main/java/io/kimmking/rpcfx/demo/provider/DemoResolver.java b/07rpc/rpc01/rpcfx-demo-provider/src/main/java/io/kimmking/rpcfx/demo/provider/DemoResolver.java index 65cffbd2..d04cc27f 100644 --- a/07rpc/rpc01/rpcfx-demo-provider/src/main/java/io/kimmking/rpcfx/demo/provider/DemoResolver.java +++ b/07rpc/rpc01/rpcfx-demo-provider/src/main/java/io/kimmking/rpcfx/demo/provider/DemoResolver.java @@ -4,7 +4,7 @@ import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; -public class DemoResolver implements RpcfxResolver, ApplicationContextAware { +public class DemoResolver implements RpcfxResolver, ApplicationContextAware { private ApplicationContext applicationContext; @@ -17,4 +17,9 @@ public void setApplicationContext(ApplicationContext applicationContext) { public Object resolve(String serviceClass) { return this.applicationContext.getBean(serviceClass); } + + @Override + public T resolve(Class serviceClass) { + return this.applicationContext.getBean(serviceClass); + } } From 034d05e2f4691212307dbc21f4dc3bc3e9725b30 Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Wed, 18 Aug 2021 10:19:40 +0800 Subject: [PATCH 36/42] =?UTF-8?q?week09=207.=EF=BC=88=E5=BF=85=E5=81=9A?= =?UTF-8?q?=EF=BC=89=E7=BB=93=E5=90=88=20dubbo+hmily=EF=BC=8C=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E4=B8=80=E4=B8=AA=20TCC=20=E5=A4=96=E6=B1=87=E4=BA=A4?= =?UTF-8?q?=E6=98=93=E5=A4=84=E7=90=86=EF=BC=8C=E4=BB=A3=E7=A0=81=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E5=88=B0=20GitHub:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ē”Øęˆ· A ēš„ē¾Žå…ƒč“¦ęˆ·å’Œäŗŗę°‘åøč“¦ęˆ·éƒ½åœØ A åŗ“ļ¼Œä½æē”Ø 1 ē¾Žå…ƒå…‘ę¢ 7 人民币 ; ē”Øęˆ· B ēš„ē¾Žå…ƒč“¦ęˆ·å’Œäŗŗę°‘åøč“¦ęˆ·éƒ½åœØ B åŗ“ļ¼Œä½æē”Ø 7 äŗŗę°‘åøå…‘ę¢ 1 ē¾Žå…ƒ ; č®¾č®”č“¦ęˆ·č”Øļ¼Œå†»ē»“čµ„äŗ§č”Øļ¼Œå®žēŽ°äøŠčæ°äø¤äøŖęœ¬åœ°äŗ‹åŠ”ēš„åˆ†åøƒå¼äŗ‹åŠ”ć€‚ åŗ“č”Øę”¾åœØäŗ†äø€äøŖļ¼ŒåÆä»„é€ščæ‡shardingčæ›č”Œåˆ†åŗ“ --- 07rpc/rpc02/dubbo-demo-api/pom.xml | 25 +++++++ .../kimmking/dubbo/demo/api/OrderService.java | 7 -- .../kimmking/dubbo/demo/api/UserService.java | 7 -- .../dubbo/demo/api/entity/Account.java | 23 ++++++ .../dubbo/demo/api/entity/FreezeAccount.java | 23 ++++++ .../dubbo/demo/api/{ => entity}/Order.java | 2 +- .../dubbo/demo/api/{ => entity}/User.java | 2 +- .../dubbo/demo/api/service/OrderService.java | 9 +++ .../demo/api/service/TransferService.java | 17 +++++ .../dubbo/demo/api/service/UserService.java | 9 +++ .../src/main/resources/sql/init.sql | 13 ++++ 07rpc/rpc02/dubbo-demo-consumer/pom.xml | 6 +- .../demo/consumer/DubboClientApplication.java | 40 ++++++++--- .../src/main/resources/application.yml | 4 ++ 07rpc/rpc02/dubbo-demo-provider/pom.xml | 40 +++++++++++ .../demo/provider/DubboServerApplication.java | 11 +++ .../demo/provider/mapper/AccountMapper.java | 34 +++++++++ .../provider/mapper/FreezeAccountMapper.java | 34 +++++++++ .../{ => service}/OrderServiceImpl.java | 6 +- .../provider/service/TransferServiceImpl.java | 72 +++++++++++++++++++ .../{ => service}/UserServiceImpl.java | 6 +- .../src/main/resources/application.yml | 7 +- .../src/main/resources/hmily.yml | 37 ++++++++++ 07rpc/rpc02/pom.xml | 6 ++ 24 files changed, 408 insertions(+), 32 deletions(-) delete mode 100644 07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/OrderService.java delete mode 100644 07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/UserService.java create mode 100644 07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/entity/Account.java create mode 100644 07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/entity/FreezeAccount.java rename 07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/{ => entity}/Order.java (93%) rename 07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/{ => entity}/User.java (91%) create mode 100644 07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/service/OrderService.java create mode 100644 07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/service/TransferService.java create mode 100644 07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/service/UserService.java create mode 100644 07rpc/rpc02/dubbo-demo-api/src/main/resources/sql/init.sql create mode 100644 07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/mapper/AccountMapper.java create mode 100644 07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/mapper/FreezeAccountMapper.java rename 07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/{ => service}/OrderServiceImpl.java (67%) create mode 100644 07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/service/TransferServiceImpl.java rename 07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/{ => service}/UserServiceImpl.java (63%) create mode 100644 07rpc/rpc02/dubbo-demo-provider/src/main/resources/hmily.yml diff --git a/07rpc/rpc02/dubbo-demo-api/pom.xml b/07rpc/rpc02/dubbo-demo-api/pom.xml index 7735be34..081a3302 100644 --- a/07rpc/rpc02/dubbo-demo-api/pom.xml +++ b/07rpc/rpc02/dubbo-demo-api/pom.xml @@ -17,4 +17,29 @@ 1.8 + + + org.projectlombok + lombok + + + + org.dromara + hmily-annotation + ${hmily.version} + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 2.1.4 + + + + mysql + mysql-connector-java + runtime + + + diff --git a/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/OrderService.java b/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/OrderService.java deleted file mode 100644 index 1ff086d7..00000000 --- a/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/OrderService.java +++ /dev/null @@ -1,7 +0,0 @@ -package io.kimmking.dubbo.demo.api; - -public interface OrderService { - - Order findOrderById(int id); - -} diff --git a/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/UserService.java b/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/UserService.java deleted file mode 100644 index a4d26ca4..00000000 --- a/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/UserService.java +++ /dev/null @@ -1,7 +0,0 @@ -package io.kimmking.dubbo.demo.api; - -public interface UserService { - - User findById(int id); - -} diff --git a/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/entity/Account.java b/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/entity/Account.java new file mode 100644 index 00000000..798923a8 --- /dev/null +++ b/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/entity/Account.java @@ -0,0 +1,23 @@ +package io.kimmking.dubbo.demo.api.entity; + +import lombok.Data; +import lombok.ToString; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * Account + * + * @author zengqi + * @date 2021/8/17 16:57 + */ + + +@Data +@ToString +public class Account implements Serializable { + private long userId; + private BigDecimal cny; + private BigDecimal usd; +} diff --git a/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/entity/FreezeAccount.java b/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/entity/FreezeAccount.java new file mode 100644 index 00000000..7ff6bf4e --- /dev/null +++ b/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/entity/FreezeAccount.java @@ -0,0 +1,23 @@ +package io.kimmking.dubbo.demo.api.entity; + +import lombok.Data; +import lombok.ToString; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * Account + * + * @author zengqi + * @date 2021/8/17 16:57 + */ + + +@Data +@ToString +public class FreezeAccount implements Serializable { + private long userId; + private BigDecimal cny; + private BigDecimal usd; +} diff --git a/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/Order.java b/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/entity/Order.java similarity index 93% rename from 07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/Order.java rename to 07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/entity/Order.java index 9f9b1b27..f959bf4a 100644 --- a/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/Order.java +++ b/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/entity/Order.java @@ -1,4 +1,4 @@ -package io.kimmking.dubbo.demo.api; +package io.kimmking.dubbo.demo.api.entity; public class Order implements java.io.Serializable { diff --git a/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/User.java b/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/entity/User.java similarity index 91% rename from 07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/User.java rename to 07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/entity/User.java index 5223bb69..a508d165 100644 --- a/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/User.java +++ b/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/entity/User.java @@ -1,4 +1,4 @@ -package io.kimmking.dubbo.demo.api; +package io.kimmking.dubbo.demo.api.entity; public class User implements java.io.Serializable { diff --git a/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/service/OrderService.java b/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/service/OrderService.java new file mode 100644 index 00000000..3f637353 --- /dev/null +++ b/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/service/OrderService.java @@ -0,0 +1,9 @@ +package io.kimmking.dubbo.demo.api.service; + +import io.kimmking.dubbo.demo.api.entity.Order; + +public interface OrderService { + + Order findOrderById(int id); + +} diff --git a/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/service/TransferService.java b/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/service/TransferService.java new file mode 100644 index 00000000..07b8a444 --- /dev/null +++ b/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/service/TransferService.java @@ -0,0 +1,17 @@ +package io.kimmking.dubbo.demo.api.service; + +import io.kimmking.dubbo.demo.api.entity.Account; +import org.dromara.hmily.annotation.Hmily; +/** + * TransferService + * + * @author zengqi + * @date 2021/8/17 17:01 + */ + +public interface TransferService { + Account findAccountByUserId(long userId); + @Hmily + Boolean transfer(long userId, Account account); + +} diff --git a/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/service/UserService.java b/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/service/UserService.java new file mode 100644 index 00000000..2b6dfea1 --- /dev/null +++ b/07rpc/rpc02/dubbo-demo-api/src/main/java/io/kimmking/dubbo/demo/api/service/UserService.java @@ -0,0 +1,9 @@ +package io.kimmking.dubbo.demo.api.service; + +import io.kimmking.dubbo.demo.api.entity.User; + +public interface UserService { + + User findById(int id); + +} diff --git a/07rpc/rpc02/dubbo-demo-api/src/main/resources/sql/init.sql b/07rpc/rpc02/dubbo-demo-api/src/main/resources/sql/init.sql new file mode 100644 index 00000000..6e0f4b1f --- /dev/null +++ b/07rpc/rpc02/dubbo-demo-api/src/main/resources/sql/init.sql @@ -0,0 +1,13 @@ +CREATE TABLE `account` ( + `user_id` bigint(20) NOT NULL COMMENT 'ē”Øęˆ·id', + `cny` decimal(20,6) NOT NULL COMMENT 'äŗŗę°‘åøč“¦ęˆ·', + `usd` decimal(20,6) NOT NULL COMMENT 'ē¾Žé‡‘č“¦ęˆ·', + PRIMARY KEY (`user_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +CREATE TABLE `freeze_account` ( + `user_id` bigint(20) NOT NULL COMMENT 'ē”Øęˆ·id', + `cny` decimal(20,6) NOT NULL COMMENT 'äŗŗę°‘åøč“¦ęˆ·', + `usd` decimal(20,6) NOT NULL COMMENT 'ē¾Žé‡‘č“¦ęˆ·', + PRIMARY KEY (`user_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; \ No newline at end of file diff --git a/07rpc/rpc02/dubbo-demo-consumer/pom.xml b/07rpc/rpc02/dubbo-demo-consumer/pom.xml index ea488be2..3db2b74e 100644 --- a/07rpc/rpc02/dubbo-demo-consumer/pom.xml +++ b/07rpc/rpc02/dubbo-demo-consumer/pom.xml @@ -27,7 +27,11 @@ org.springframework.boot spring-boot-starter - + + org.projectlombok + lombok + true + diff --git a/07rpc/rpc02/dubbo-demo-consumer/src/main/java/io/kimmking/dubbo/demo/consumer/DubboClientApplication.java b/07rpc/rpc02/dubbo-demo-consumer/src/main/java/io/kimmking/dubbo/demo/consumer/DubboClientApplication.java index 61e8b34c..a8004ff5 100644 --- a/07rpc/rpc02/dubbo-demo-consumer/src/main/java/io/kimmking/dubbo/demo/consumer/DubboClientApplication.java +++ b/07rpc/rpc02/dubbo-demo-consumer/src/main/java/io/kimmking/dubbo/demo/consumer/DubboClientApplication.java @@ -1,15 +1,17 @@ package io.kimmking.dubbo.demo.consumer; -import io.kimmking.dubbo.demo.api.Order; -import io.kimmking.dubbo.demo.api.OrderService; -import io.kimmking.dubbo.demo.api.User; -import io.kimmking.dubbo.demo.api.UserService; +import io.kimmking.dubbo.demo.api.entity.Account; +import io.kimmking.dubbo.demo.api.service.OrderService; +import io.kimmking.dubbo.demo.api.service.TransferService; +import io.kimmking.dubbo.demo.api.service.UserService; import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.boot.ApplicationRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; +import java.math.BigDecimal; + @SpringBootApplication public class DubboClientApplication { @@ -19,6 +21,10 @@ public class DubboClientApplication { @DubboReference(version = "1.0.0") //, url = "dubbo://127.0.0.1:12345") private OrderService orderService; + @DubboReference(version = "1.0.0") //, url = "dubbo://127.0.0.1:12345") + private TransferService transferService; + + public static void main(String[] args) { SpringApplication.run(DubboClientApplication.class).close(); @@ -39,10 +45,28 @@ public static void main(String[] args) { @Bean public ApplicationRunner runner() { return args -> { - User user = userService.findById(1); - System.out.println("find user id=1 from server: " + user.getName()); - Order order = orderService.findOrderById(1992129); - System.out.println(String.format("find order name=%s, amount=%f",order.getName(),order.getAmount())); +// User user = userService.findById(1); +// System.out.println("find user id=1 from server: " + user.getName()); +// Order order = orderService.findOrderById(1992129); +// System.out.println(String.format("find order name=%s, amount=%f",order.getName(),order.getAmount())); + + //ęµ‹čÆ•č½¬č“¦ę•ˆęžœ + System.out.println(transferService.findAccountByUserId(1)); + System.out.println(transferService.findAccountByUserId(2)); + + Account account1 = new Account(); + account1.setCny(BigDecimal.valueOf(700)); + account1.setUserId(1); + Account account2 = new Account(); + account2.setUsd(BigDecimal.valueOf(100)); + account2.setUserId(2); + Boolean transfer1 = transferService.transfer(1, account1); + System.out.println(transfer1); + System.out.println(transferService.findAccountByUserId(1)); + Boolean transfer2 = transferService.transfer(2,account2); + System.out.println(transfer2); + System.out.println(transferService.findAccountByUserId(2)); + }; } diff --git a/07rpc/rpc02/dubbo-demo-consumer/src/main/resources/application.yml b/07rpc/rpc02/dubbo-demo-consumer/src/main/resources/application.yml index 744dd94b..83651948 100644 --- a/07rpc/rpc02/dubbo-demo-consumer/src/main/resources/application.yml +++ b/07rpc/rpc02/dubbo-demo-consumer/src/main/resources/application.yml @@ -5,6 +5,10 @@ spring: main: allow-bean-definition-overriding: true web-application-type: none + datasource: + url: jdbc:mysql://localhost:3306/ds0?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8 + username: root + password: 1234 dubbo: scan: base-packages: io.kimmking.dubbo.demo.consumer diff --git a/07rpc/rpc02/dubbo-demo-provider/pom.xml b/07rpc/rpc02/dubbo-demo-provider/pom.xml index e36f904b..4fe3c768 100644 --- a/07rpc/rpc02/dubbo-demo-provider/pom.xml +++ b/07rpc/rpc02/dubbo-demo-provider/pom.xml @@ -39,6 +39,30 @@ 2.7.7 + + org.dromara + hmily-spring-boot-starter-apache-dubbo + 2.1.1 + + + org.dromara + hmily-core + 2.1.1 + + + hmily-repository-mongodb + org.dromara + + + hmily-repository-redis + org.dromara + + + hmily-repository-redis + org.dromara + + + org.springframework.boot spring-boot-starter-test @@ -50,6 +74,22 @@ + + org.projectlombok + lombok + true + + + com.101tec + zkclient + 0.10 + + + org.apache.curator + curator-recipes + 4.2.0 + + diff --git a/07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/DubboServerApplication.java b/07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/DubboServerApplication.java index 0b23758d..39689910 100644 --- a/07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/DubboServerApplication.java +++ b/07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/DubboServerApplication.java @@ -1,13 +1,24 @@ package io.kimmking.dubbo.demo.provider; +import org.apache.dubbo.config.spring.context.annotation.EnableDubbo; +import org.dromara.hmily.spring.annotation.RefererAnnotationBeanPostProcessor; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.beans.factory.config.BeanPostProcessor; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.Bean; +@EnableDubbo @SpringBootApplication +@MapperScan("io.kimmking.dubbo.demo.provider.mapper") public class DubboServerApplication { public static void main(String[] args) { SpringApplication.run(DubboServerApplication.class, args); } + @Bean + public BeanPostProcessor refererAnnotationBeanPostProcessor() { + return new RefererAnnotationBeanPostProcessor(); + } } diff --git a/07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/mapper/AccountMapper.java b/07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/mapper/AccountMapper.java new file mode 100644 index 00000000..73917c57 --- /dev/null +++ b/07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/mapper/AccountMapper.java @@ -0,0 +1,34 @@ +package io.kimmking.dubbo.demo.provider.mapper; + +import io.kimmking.dubbo.demo.api.entity.Account; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Update; +import org.springframework.stereotype.Repository; + +import java.math.BigDecimal; + +/** + * AccountMapper + * + * @author zengqi + * @date 2021/8/17 18:20 + */ + +@Repository +public interface AccountMapper { + @Select("select * from account where user_id = #{userId}") + Account findByUserId(long userId); + + @Update("update account set cny = cny - #{money} where user_id = #{userId}") + int subCny(@Param("userId") long userId, @Param("money") BigDecimal money); + + @Update("update account set cny = cny + #{money} where user_id = #{userId}") + int addCny(@Param("userId") long userId, @Param("money") BigDecimal money); + + @Update("update account set usd = usd - #{money} where user_id = #{userId}") + int subUsd(@Param("userId") long userId, @Param("money") BigDecimal money); + + @Update("update account set usd = usd + #{money} where user_id = #{userId}") + int addUsd(@Param("userId") long userId, @Param("money") BigDecimal money); +} diff --git a/07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/mapper/FreezeAccountMapper.java b/07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/mapper/FreezeAccountMapper.java new file mode 100644 index 00000000..aeb10834 --- /dev/null +++ b/07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/mapper/FreezeAccountMapper.java @@ -0,0 +1,34 @@ +package io.kimmking.dubbo.demo.provider.mapper; + +import io.kimmking.dubbo.demo.api.entity.Account; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Update; +import org.springframework.stereotype.Repository; + +import java.math.BigDecimal; + +/** + * AccountMapper + * + * @author zengqi + * @date 2021/8/17 18:20 + */ + +@Repository +public interface FreezeAccountMapper { + @Select("select * from account where user_id = #{userId}") + Account findByUserId(long userId); + + @Update("update account set cny = cny - #{money} where user_id = #{userId}") + int subCny(@Param("userId") long userId, @Param("money") BigDecimal money); + + @Update("update account set cny = cny + #{money} where user_id = #{userId}") + int addCny(@Param("userId") long userId, @Param("money") BigDecimal money); + + @Update("update account set usd = usd - #{money} where user_id = #{userId}") + int subUsd(@Param("userId") long userId, @Param("money") BigDecimal money); + + @Update("update account set usd = usd + #{money} where user_id = #{userId}") + int addUsd(@Param("userId") long userId, @Param("money") BigDecimal money); +} diff --git a/07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/OrderServiceImpl.java b/07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/service/OrderServiceImpl.java similarity index 67% rename from 07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/OrderServiceImpl.java rename to 07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/service/OrderServiceImpl.java index b89e5293..52327f1b 100644 --- a/07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/OrderServiceImpl.java +++ b/07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/service/OrderServiceImpl.java @@ -1,7 +1,7 @@ -package io.kimmking.dubbo.demo.provider; +package io.kimmking.dubbo.demo.provider.service; -import io.kimmking.dubbo.demo.api.Order; -import io.kimmking.dubbo.demo.api.OrderService; +import io.kimmking.dubbo.demo.api.entity.Order; +import io.kimmking.dubbo.demo.api.service.OrderService; import org.apache.dubbo.config.annotation.DubboService; diff --git a/07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/service/TransferServiceImpl.java b/07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/service/TransferServiceImpl.java new file mode 100644 index 00000000..27f914d8 --- /dev/null +++ b/07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/service/TransferServiceImpl.java @@ -0,0 +1,72 @@ +package io.kimmking.dubbo.demo.provider.service; + +import io.kimmking.dubbo.demo.api.entity.Account; +import io.kimmking.dubbo.demo.api.service.TransferService; +import io.kimmking.dubbo.demo.provider.mapper.AccountMapper; +import io.kimmking.dubbo.demo.provider.mapper.FreezeAccountMapper; +import org.apache.dubbo.config.annotation.DubboService; +import org.dromara.hmily.annotation.HmilyTCC; +import org.springframework.beans.factory.annotation.Autowired; + +import java.math.BigDecimal; + +@DubboService(version = "1.0.0") +public class TransferServiceImpl implements TransferService { + @Autowired + private AccountMapper accountMapper; + @Autowired + private FreezeAccountMapper freezeAccountMapper; + + @Override + public Account findAccountByUserId(long userId) { + return accountMapper.findByUserId(userId); + } + + @Override + @HmilyTCC(confirmMethod = "sayConfrim", cancelMethod = "sayCancel") + public Boolean transfer(long userId, Account account) { + BigDecimal usd = account.getUsd(); + BigDecimal cny = account.getCny(); + boolean result = true; + if (cny != null) { + result = result && accountMapper.subCny(userId, cny) > 0 && freezeAccountMapper.addCny(userId, cny) > 0; + } + if (usd != null) { + result = accountMapper.subUsd(userId, usd) > 0 && freezeAccountMapper.addUsd(userId, usd) > 0; + } + return result; + } + public boolean sayConfrim(long userId, Account account) { + return addMoney(userId, account) && clearFreeze(userId, account); + } + + + + public boolean sayCancel(long userId, Account account) { + return addMoney(userId, account) && clearFreeze(userId, account); + } + private boolean addMoney(long userId, Account account) { + BigDecimal cny = account.getCny(); + BigDecimal usd = account.getUsd(); + boolean result = true; + if (cny != null) { + result = result && accountMapper.addUsd(userId, cny.divide(BigDecimal.valueOf(7))) > 0; + } + if (usd != null) { + result = accountMapper.addCny(userId, usd.multiply(BigDecimal.valueOf(7))) > 0; + } + return result; + } + private boolean clearFreeze(long userId, Account account) { + BigDecimal cny = account.getCny(); + BigDecimal usd = account.getUsd(); + boolean result = true; + if (cny != null) { + result = result && freezeAccountMapper.subCny(userId, cny) > 0; + } + if (usd != null) { + result = freezeAccountMapper.subUsd(userId, usd) > 0; + } + return result; + } +} diff --git a/07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/UserServiceImpl.java b/07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/service/UserServiceImpl.java similarity index 63% rename from 07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/UserServiceImpl.java rename to 07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/service/UserServiceImpl.java index eb3abf79..21e9cde2 100644 --- a/07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/UserServiceImpl.java +++ b/07rpc/rpc02/dubbo-demo-provider/src/main/java/io/kimmking/dubbo/demo/provider/service/UserServiceImpl.java @@ -1,7 +1,7 @@ -package io.kimmking.dubbo.demo.provider; +package io.kimmking.dubbo.demo.provider.service; -import io.kimmking.dubbo.demo.api.User; -import io.kimmking.dubbo.demo.api.UserService; +import io.kimmking.dubbo.demo.api.entity.User; +import io.kimmking.dubbo.demo.api.service.UserService; import org.apache.dubbo.config.annotation.DubboService; @DubboService(version = "1.0.0") diff --git a/07rpc/rpc02/dubbo-demo-provider/src/main/resources/application.yml b/07rpc/rpc02/dubbo-demo-provider/src/main/resources/application.yml index ee5c084a..39795b5a 100644 --- a/07rpc/rpc02/dubbo-demo-provider/src/main/resources/application.yml +++ b/07rpc/rpc02/dubbo-demo-provider/src/main/resources/application.yml @@ -4,7 +4,12 @@ server: spring: application: name: dubbo-demo-provider - + datasource: + url: jdbc:mysql://localhost:3306/ds0?serverTimezone=Asia/Shanghai + username: root + password: 1234 +mybatis: + type-aliases-package: io.kimmking.dubbo.demo.api.entity dubbo: scan: base-packages: io.kimmking.dubbo.demo.provider diff --git a/07rpc/rpc02/dubbo-demo-provider/src/main/resources/hmily.yml b/07rpc/rpc02/dubbo-demo-provider/src/main/resources/hmily.yml new file mode 100644 index 00000000..abeccb21 --- /dev/null +++ b/07rpc/rpc02/dubbo-demo-provider/src/main/resources/hmily.yml @@ -0,0 +1,37 @@ +hmily: + server: + configMode: local + appName: rpc02-demo-dubbo + # å¦‚ęžœserver.configMode eq local ēš„ę—¶å€™ę‰ä¼ščÆ»å–åˆ°čæ™é‡Œēš„é…ē½®äæ”ęÆ. + config: + appName: rpc02-demo-dubbo + serializer: kryo + contextTransmittalMode: threadLocal + scheduledThreadMax: 16 + scheduledRecoveryDelay: 60 + scheduledCleanDelay: 60 + scheduledPhyDeletedDelay: 600 + scheduledInitDelay: 30 + recoverDelayTime: 60 + cleanDelayTime: 180 + limit: 200 + retryMax: 10 + bufferSize: 8192 + consumerThreads: 16 + asyncRepository: true + autoSql: true + phyDeleted: true + storeDays: 3 + repository: mysql + +repository: + database: + driverClassName: com.mysql.jdbc.Driver + url : jdbc:mysql://127.0.0.1:3306/hmily?serverTimezone=Asia/Shanghai + username: root + password: 1234 + maxActive: 20 + minIdle: 10 + connectionTimeout: 30000 + idleTimeout: 600000 + maxLifetime: 1800000 \ No newline at end of file diff --git a/07rpc/rpc02/pom.xml b/07rpc/rpc02/pom.xml index 8b97b26b..87b1caba 100644 --- a/07rpc/rpc02/pom.xml +++ b/07rpc/rpc02/pom.xml @@ -25,6 +25,7 @@ 1.8 2.3.0.RELEASE 2.7.7 + 2.1.1 @@ -93,6 +94,11 @@ + + org.projectlombok + lombok + true + From b57a1a89496e420da18348d3135fe2dc3eeb0843 Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Wed, 1 Sep 2021 10:13:51 +0800 Subject: [PATCH 37/42] =?UTF-8?q?week11=208.=EF=BC=88=E5=BF=85=E5=81=9A?= =?UTF-8?q?=EF=BC=89=E5=9F=BA=E4=BA=8E=20Redis=20=E5=B0=81=E8=A3=85?= =?UTF-8?q?=E5=88=86=E5=B8=83=E5=BC=8F=E6=95=B0=E6=8D=AE=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=EF=BC=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在 Java äø­å®žēŽ°äø€äøŖē®€å•ēš„åˆ†åøƒå¼é”ļ¼› 在 Java äø­å®žēŽ°äø€äøŖåˆ†åøƒå¼č®”ę•°å™Øļ¼ŒęØ”ę‹Ÿå‡åŗ“å­˜ć€‚ --- 08cache/week11/.gitignore | 33 ++ .../.mvn/wrapper/MavenWrapperDownloader.java | 118 +++++++ 08cache/week11/.mvn/wrapper/maven-wrapper.jar | Bin 0 -> 50710 bytes .../.mvn/wrapper/maven-wrapper.properties | 2 + 08cache/week11/mvnw | 310 ++++++++++++++++++ 08cache/week11/mvnw.cmd | 182 ++++++++++ 08cache/week11/pom.xml | 63 ++++ .../zengqi/week11/RedissionConfiguration.java | 22 ++ .../com/zengqi/week11/StockController.java | 21 ++ .../java/com/zengqi/week11/StockService.java | 43 +++ .../com/zengqi/week11/Week11Application.java | 13 + .../src/main/resources/application.properties | 3 + .../zengqi/week11/Week11ApplicationTests.java | 20 ++ 13 files changed, 830 insertions(+) create mode 100644 08cache/week11/.gitignore create mode 100644 08cache/week11/.mvn/wrapper/MavenWrapperDownloader.java create mode 100644 08cache/week11/.mvn/wrapper/maven-wrapper.jar create mode 100644 08cache/week11/.mvn/wrapper/maven-wrapper.properties create mode 100644 08cache/week11/mvnw create mode 100644 08cache/week11/mvnw.cmd create mode 100644 08cache/week11/pom.xml create mode 100644 08cache/week11/src/main/java/com/zengqi/week11/RedissionConfiguration.java create mode 100644 08cache/week11/src/main/java/com/zengqi/week11/StockController.java create mode 100644 08cache/week11/src/main/java/com/zengqi/week11/StockService.java create mode 100644 08cache/week11/src/main/java/com/zengqi/week11/Week11Application.java create mode 100644 08cache/week11/src/main/resources/application.properties create mode 100644 08cache/week11/src/test/java/com/zengqi/week11/Week11ApplicationTests.java diff --git a/08cache/week11/.gitignore b/08cache/week11/.gitignore new file mode 100644 index 00000000..549e00a2 --- /dev/null +++ b/08cache/week11/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/08cache/week11/.mvn/wrapper/MavenWrapperDownloader.java b/08cache/week11/.mvn/wrapper/MavenWrapperDownloader.java new file mode 100644 index 00000000..a45eb6ba --- /dev/null +++ b/08cache/week11/.mvn/wrapper/MavenWrapperDownloader.java @@ -0,0 +1,118 @@ +/* + * Copyright 2007-present the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import java.net.*; +import java.io.*; +import java.nio.channels.*; +import java.util.Properties; + +public class MavenWrapperDownloader { + + private static final String WRAPPER_VERSION = "0.5.6"; + /** + * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. + */ + private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" + + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar"; + + /** + * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to + * use instead of the default one. + */ + private static final String MAVEN_WRAPPER_PROPERTIES_PATH = + ".mvn/wrapper/maven-wrapper.properties"; + + /** + * Path where the maven-wrapper.jar will be saved to. + */ + private static final String MAVEN_WRAPPER_JAR_PATH = + ".mvn/wrapper/maven-wrapper.jar"; + + /** + * Name of the property which should be used to override the default download url for the wrapper. + */ + private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; + + public static void main(String args[]) { + System.out.println("- Downloader started"); + File baseDirectory = new File(args[0]); + System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); + + // If the maven-wrapper.properties exists, read it and check if it contains a custom + // wrapperUrl parameter. + File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); + String url = DEFAULT_DOWNLOAD_URL; + if (mavenWrapperPropertyFile.exists()) { + FileInputStream mavenWrapperPropertyFileInputStream = null; + try { + mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); + Properties mavenWrapperProperties = new Properties(); + mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); + url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); + } catch (IOException e) { + System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); + } finally { + try { + if (mavenWrapperPropertyFileInputStream != null) { + mavenWrapperPropertyFileInputStream.close(); + } + } catch (IOException e) { + // Ignore ... + } + } + } + System.out.println("- Downloading from: " + url); + + File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); + if (!outputFile.getParentFile().exists()) { + if (!outputFile.getParentFile().mkdirs()) { + System.out.println( + "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); + } + } + System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); + try { + downloadFileFromURL(url, outputFile); + System.out.println("Done"); + System.exit(0); + } catch (Throwable e) { + System.out.println("- Error downloading"); + e.printStackTrace(); + System.exit(1); + } + } + + private static void downloadFileFromURL(String urlString, File destination) throws Exception { + if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { + String username = System.getenv("MVNW_USERNAME"); + char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); + Authenticator.setDefault(new Authenticator() { + @Override + protected PasswordAuthentication getPasswordAuthentication() { + return new PasswordAuthentication(username, password); + } + }); + } + URL website = new URL(urlString); + ReadableByteChannel rbc; + rbc = Channels.newChannel(website.openStream()); + FileOutputStream fos = new FileOutputStream(destination); + fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); + fos.close(); + rbc.close(); + } + +} diff --git a/08cache/week11/.mvn/wrapper/maven-wrapper.jar b/08cache/week11/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..2cc7d4a55c0cd0092912bf49ae38b3a9e3fd0054 GIT binary patch literal 50710 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 EfAhh=DF6Tf literal 0 HcmV?d00001 diff --git a/08cache/week11/.mvn/wrapper/maven-wrapper.properties b/08cache/week11/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 00000000..abd303b6 --- /dev/null +++ b/08cache/week11/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,2 @@ +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.2/apache-maven-3.8.2-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar diff --git a/08cache/week11/mvnw b/08cache/week11/mvnw new file mode 100644 index 00000000..a16b5431 --- /dev/null +++ b/08cache/week11/mvnw @@ -0,0 +1,310 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Maven Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "`uname`" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="`/usr/libexec/java_home`" + else + export JAVA_HOME="/Library/Java/Home" + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=`java-config --jre-home` + fi +fi + +if [ -z "$M2_HOME" ] ; then + ## resolve links - $0 may be a link to maven's home + PRG="$0" + + # need this for relative symlinks + while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG="`dirname "$PRG"`/$link" + fi + done + + saveddir=`pwd` + + M2_HOME=`dirname "$PRG"`/.. + + # make it fully qualified + M2_HOME=`cd "$M2_HOME" && pwd` + + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --unix "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$M2_HOME" ] && + M2_HOME="`(cd "$M2_HOME"; pwd)`" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="`which javac`" + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=`which readlink` + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + if $darwin ; then + javaHome="`dirname \"$javaExecutable\"`" + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + else + javaExecutable="`readlink -f \"$javaExecutable\"`" + fi + javaHome="`dirname \"$javaExecutable\"`" + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="`which java`" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=`cd "$wdir/.."; pwd` + fi + # end of workaround + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' < "$1")" + fi +} + +BASE_DIR=`find_maven_basedir "$(pwd)"` +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found .mvn/wrapper/maven-wrapper.jar" + fi +else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + fi + if [ -n "$MVNW_REPOURL" ]; then + jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + fi + while IFS="=" read key value; do + case "$key" in (wrapperUrl) jarUrl="$value"; break ;; + esac + done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Downloading from: $jarUrl" + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + fi + + if command -v wget > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found wget ... using wget" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget "$jarUrl" -O "$wrapperJarPath" + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found curl ... using curl" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl -o "$wrapperJarPath" "$jarUrl" -f + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + fi + + else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Falling back to using Java to download" + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaClass=`cygpath --path --windows "$javaClass"` + fi + if [ -e "$javaClass" ]; then + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Compiling MavenWrapperDownloader.java ..." + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Running MavenWrapperDownloader.java ..." + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +if [ "$MVNW_VERBOSE" = true ]; then + echo $MAVEN_PROJECTBASEDIR +fi +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --path --windows "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/08cache/week11/mvnw.cmd b/08cache/week11/mvnw.cmd new file mode 100644 index 00000000..c8d43372 --- /dev/null +++ b/08cache/week11/mvnw.cmd @@ -0,0 +1,182 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Maven Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" +if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + +FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" +if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%" == "on" pause + +if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% + +exit /B %ERROR_CODE% diff --git a/08cache/week11/pom.xml b/08cache/week11/pom.xml new file mode 100644 index 00000000..73795a33 --- /dev/null +++ b/08cache/week11/pom.xml @@ -0,0 +1,63 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.5.4 + + + com.zengqi + week11 + 0.0.1-SNAPSHOT + week11 + Demo project for Spring Boot + + 1.8 + + + + org.springframework.boot + spring-boot-starter-data-redis + + + org.springframework.boot + spring-boot-starter-web + + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + org.redisson + redisson-spring-boot-starter + 3.14.1 + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/08cache/week11/src/main/java/com/zengqi/week11/RedissionConfiguration.java b/08cache/week11/src/main/java/com/zengqi/week11/RedissionConfiguration.java new file mode 100644 index 00000000..8dbdd5f3 --- /dev/null +++ b/08cache/week11/src/main/java/com/zengqi/week11/RedissionConfiguration.java @@ -0,0 +1,22 @@ +package com.zengqi.week11; + +import org.redisson.Redisson; +import org.redisson.config.Config; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * RedissionConfiguration + * + * @author zengqi + * @date 2021/9/1 9:44 + */ +@Configuration +public class RedissionConfiguration { + @Bean + public Redisson redisson(){ + Config config=new Config(); + config.useSingleServer().setAddress("redis://127.0.0.1:6379").setDatabase(0); + return (Redisson) Redisson.create(config); + } +} diff --git a/08cache/week11/src/main/java/com/zengqi/week11/StockController.java b/08cache/week11/src/main/java/com/zengqi/week11/StockController.java new file mode 100644 index 00000000..591e5e11 --- /dev/null +++ b/08cache/week11/src/main/java/com/zengqi/week11/StockController.java @@ -0,0 +1,21 @@ +package com.zengqi.week11; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@EnableAutoConfiguration +public class StockController { + + @Autowired + private StockService stockService; + + @PutMapping(value = "/products/{productId}") + public void reduceInventory(@PathVariable("productId") String productId) { + stockService.reduceStock(productId, 1); + } + +} \ No newline at end of file diff --git a/08cache/week11/src/main/java/com/zengqi/week11/StockService.java b/08cache/week11/src/main/java/com/zengqi/week11/StockService.java new file mode 100644 index 00000000..9bbfd39a --- /dev/null +++ b/08cache/week11/src/main/java/com/zengqi/week11/StockService.java @@ -0,0 +1,43 @@ +package com.zengqi.week11; + +import org.redisson.Redisson; +import org.redisson.api.RLock; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.stereotype.Service; + +import java.util.concurrent.TimeUnit; + +/** + * StockService + * å‚č€ƒRedissionDemo + * @author zengqi + * @date 2021/9/1 9:46 + */ +@Service +public class StockService { + + @Autowired + private Redisson redisson; + + @Autowired + private StringRedisTemplate stringRedisTemplate; + + public void reduceStock(String productId, int num) { + String lockKey = productId + "_lock"; + RLock redissonLock = redisson.getLock(lockKey); + try { + redissonLock.lock(30, TimeUnit.SECONDS); + int stock = Integer.parseInt(stringRedisTemplate.opsForValue().get(productId + "_stock")); + if (stock - num >= 0) { + int nextStock = stock - num; + this.stringRedisTemplate.opsForValue().set(productId + "_stock", nextStock + ""); + System.out.println("åŗ“å­˜ę‰£å‡ęˆåŠŸļ¼Œå‰©ä½™åŗ“å­˜äøŗ" + nextStock); + } else { + System.out.println("åŗ“å­˜ę‰£å‡å¤±č“„ļ¼Œåŗ“å­˜äøč¶³"); + } + } finally { + redissonLock.unlock(); + } + } +} diff --git a/08cache/week11/src/main/java/com/zengqi/week11/Week11Application.java b/08cache/week11/src/main/java/com/zengqi/week11/Week11Application.java new file mode 100644 index 00000000..63773ba8 --- /dev/null +++ b/08cache/week11/src/main/java/com/zengqi/week11/Week11Application.java @@ -0,0 +1,13 @@ +package com.zengqi.week11; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class Week11Application { + + public static void main(String[] args) { + SpringApplication.run(Week11Application.class, args); + } + +} diff --git a/08cache/week11/src/main/resources/application.properties b/08cache/week11/src/main/resources/application.properties new file mode 100644 index 00000000..921633ef --- /dev/null +++ b/08cache/week11/src/main/resources/application.properties @@ -0,0 +1,3 @@ +spring.redis.host=localhost +spring.redis.port=6379 +spring.redis.database=0 \ No newline at end of file diff --git a/08cache/week11/src/test/java/com/zengqi/week11/Week11ApplicationTests.java b/08cache/week11/src/test/java/com/zengqi/week11/Week11ApplicationTests.java new file mode 100644 index 00000000..7c6b658c --- /dev/null +++ b/08cache/week11/src/test/java/com/zengqi/week11/Week11ApplicationTests.java @@ -0,0 +1,20 @@ +package com.zengqi.week11; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.data.redis.core.StringRedisTemplate; + +@SpringBootTest +class Week11ApplicationTests { + @Autowired + private StringRedisTemplate stringRedisTemplate; + @Autowired + private StockController stockController; + @Test + void contextLoads() { + stringRedisTemplate.opsForValue().set("product1_stock","1000"); + stockController.reduceInventory("product1"); + } + +} From f30f6e22eadb6663113ff213232abf6be8725db7 Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Tue, 7 Sep 2021 17:12:54 +0800 Subject: [PATCH 38/42] =?UTF-8?q?Week12=20=E4=BD=9C=E4=B8=9A=E9=A2=98?= =?UTF-8?q?=E7=9B=AE=EF=BC=9A=201.=EF=BC=88=E5=BF=85=E5=81=9A=EF=BC=89?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=20redis=20=E7=9A=84=E4=B8=BB=E4=BB=8E?= =?UTF-8?q?=E5=A4=8D=E5=88=B6=EF=BC=8Csentinel=20=E9=AB=98=E5=8F=AF?= =?UTF-8?q?=E7=94=A8=EF=BC=8CCluster=20=E9=9B=86=E7=BE=A4=E3=80=82=206.?= =?UTF-8?q?=EF=BC=88=E5=BF=85=E5=81=9A=EF=BC=89=E6=90=AD=E5=BB=BA=20Active?= =?UTF-8?q?MQ=20=E6=9C=8D=E5=8A=A1=EF=BC=8C=E5=9F=BA=E4=BA=8E=20JMS?= =?UTF-8?q?=EF=BC=8C=E5=86=99=E4=BB=A3=E7=A0=81=E5=88=86=E5=88=AB=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E5=AF=B9=E4=BA=8E=20queue=20=E5=92=8C=20topic=20?= =?UTF-8?q?=E7=9A=84=E6=B6=88=E6=81=AF=E7=94=9F=E4=BA=A7=E5=92=8C=E6=B6=88?= =?UTF-8?q?=E8=B4=B9=EF=BC=8C=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4=E5=88=B0?= =?UTF-8?q?=20github=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 08cache/ha/week12-01/cluster/redis.conf | 2051 +++++++++++++++++ .../ha/week12-01/sentinel/sentinel01.config | 11 + .../ha/week12-01/sentinel/sentinel02.config | 11 + 08cache/ha/week12-01/slave/redis.conf | 2051 +++++++++++++++++ 08cache/ha/week12-01/week12.MD | 110 + .../mq/activemq/ActivemqApplication.java | 17 +- 6 files changed, 4245 insertions(+), 6 deletions(-) create mode 100644 08cache/ha/week12-01/cluster/redis.conf create mode 100644 08cache/ha/week12-01/sentinel/sentinel01.config create mode 100644 08cache/ha/week12-01/sentinel/sentinel02.config create mode 100644 08cache/ha/week12-01/slave/redis.conf create mode 100644 08cache/ha/week12-01/week12.MD diff --git a/08cache/ha/week12-01/cluster/redis.conf b/08cache/ha/week12-01/cluster/redis.conf new file mode 100644 index 00000000..410a1793 --- /dev/null +++ b/08cache/ha/week12-01/cluster/redis.conf @@ -0,0 +1,2051 @@ +# Redis configuration file example. +# +# Note that in order to read the configuration file, Redis must be +# started with the file path as first argument: +# +# ./redis-server /path/to/redis.conf + +# Note on units: when memory size is needed, it is possible to specify +# it in the usual form of 1k 5GB 4M and so forth: +# +# 1k => 1000 bytes +# 1kb => 1024 bytes +# 1m => 1000000 bytes +# 1mb => 1024*1024 bytes +# 1g => 1000000000 bytes +# 1gb => 1024*1024*1024 bytes +# +# units are case insensitive so 1GB 1Gb 1gB are all the same. + +################################## INCLUDES ################################### + +# Include one or more other config files here. This is useful if you +# have a standard template that goes to all Redis servers but also need +# to customize a few per-server settings. Include files can include +# other files, so use this wisely. +# +# Note that option "include" won't be rewritten by command "CONFIG REWRITE" +# from admin or Redis Sentinel. Since Redis always uses the last processed +# line as value of a configuration directive, you'd better put includes +# at the beginning of this file to avoid overwriting config change at runtime. +# +# If instead you are interested in using includes to override configuration +# options, it is better to use include as the last line. +# +# include /path/to/local.conf +# include /path/to/other.conf + +################################## MODULES ##################################### + +# Load modules at startup. If the server is not able to load modules +# it will abort. It is possible to use multiple loadmodule directives. +# +# loadmodule /path/to/my_module.so +# loadmodule /path/to/other_module.so + +################################## NETWORK ##################################### + +# By default, if no "bind" configuration directive is specified, Redis listens +# for connections from all available network interfaces on the host machine. +# It is possible to listen to just one or multiple selected interfaces using +# the "bind" configuration directive, followed by one or more IP addresses. +# Each address can be prefixed by "-", which means that redis will not fail to +# start if the address is not available. Being not available only refers to +# addresses that does not correspond to any network interfece. Addresses that +# are already in use will always fail, and unsupported protocols will always BE +# silently skipped. +# +# Examples: +# +# bind 192.168.1.100 10.0.0.1 # listens on two specific IPv4 addresses +# bind 127.0.0.1 ::1 # listens on loopback IPv4 and IPv6 +# bind * -::* # like the default, all available interfaces +# +# ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the +# internet, binding to all the interfaces is dangerous and will expose the +# instance to everybody on the internet. So by default we uncomment the +# following bind directive, that will force Redis to listen only on the +# IPv4 and IPv6 (if available) loopback interface addresses (this means Redis +# will only be able to accept client connections from the same host that it is +# running on). +# +# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES +# JUST COMMENT OUT THE FOLLOWING LINE. +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +bind 127.0.0.1 -::1 +bind 0.0.0.0 +# Protected mode is a layer of security protection, in order to avoid that +# Redis instances left open on the internet are accessed and exploited. +# +# When protected mode is on and if: +# +# 1) The server is not binding explicitly to a set of addresses using the +# "bind" directive. +# 2) No password is configured. +# +# The server only accepts connections from clients connecting from the +# IPv4 and IPv6 loopback addresses 127.0.0.1 and ::1, and from Unix domain +# sockets. +# +# By default protected mode is enabled. You should disable it only if +# you are sure you want clients from other hosts to connect to Redis +# even if no authentication is configured, nor a specific set of interfaces +# are explicitly listed using the "bind" directive. +protected-mode yes + +# Accept connections on the specified port, default is 6379 (IANA #815344). +# If port 0 is specified Redis will not listen on a TCP socket. +port 6379 + +# TCP listen() backlog. +# +# In high requests-per-second environments you need a high backlog in order +# to avoid slow clients connection issues. Note that the Linux kernel +# will silently truncate it to the value of /proc/sys/net/core/somaxconn so +# make sure to raise both the value of somaxconn and tcp_max_syn_backlog +# in order to get the desired effect. +tcp-backlog 511 + +# Unix socket. +# +# Specify the path for the Unix socket that will be used to listen for +# incoming connections. There is no default, so Redis will not listen +# on a unix socket when not specified. +# +# unixsocket /run/redis.sock +# unixsocketperm 700 + +# Close the connection after a client is idle for N seconds (0 to disable) +timeout 0 + +# TCP keepalive. +# +# If non-zero, use SO_KEEPALIVE to send TCP ACKs to clients in absence +# of communication. This is useful for two reasons: +# +# 1) Detect dead peers. +# 2) Force network equipment in the middle to consider the connection to be +# alive. +# +# On Linux, the specified value (in seconds) is the period used to send ACKs. +# Note that to close the connection the double of the time is needed. +# On other kernels the period depends on the kernel configuration. +# +# A reasonable value for this option is 300 seconds, which is the new +# Redis default starting with Redis 3.2.1. +tcp-keepalive 300 + +################################# TLS/SSL ##################################### + +# By default, TLS/SSL is disabled. To enable it, the "tls-port" configuration +# directive can be used to define TLS-listening ports. To enable TLS on the +# default port, use: +# +# port 0 +# tls-port 6379 + +# Configure a X.509 certificate and private key to use for authenticating the +# server to connected clients, masters or cluster peers. These files should be +# PEM formatted. +# +# tls-cert-file redis.crt +# tls-key-file redis.key +# +# If the key file is encrypted using a passphrase, it can be included here +# as well. +# +# tls-key-file-pass secret + +# Normally Redis uses the same certificate for both server functions (accepting +# connections) and client functions (replicating from a master, establishing +# cluster bus connections, etc.). +# +# Sometimes certificates are issued with attributes that designate them as +# client-only or server-only certificates. In that case it may be desired to use +# different certificates for incoming (server) and outgoing (client) +# connections. To do that, use the following directives: +# +# tls-client-cert-file client.crt +# tls-client-key-file client.key +# +# If the key file is encrypted using a passphrase, it can be included here +# as well. +# +# tls-client-key-file-pass secret + +# Configure a DH parameters file to enable Diffie-Hellman (DH) key exchange: +# +# tls-dh-params-file redis.dh + +# Configure a CA certificate(s) bundle or directory to authenticate TLS/SSL +# clients and peers. Redis requires an explicit configuration of at least one +# of these, and will not implicitly use the system wide configuration. +# +# tls-ca-cert-file ca.crt +# tls-ca-cert-dir /etc/ssl/certs + +# By default, clients (including replica servers) on a TLS port are required +# to authenticate using valid client side certificates. +# +# If "no" is specified, client certificates are not required and not accepted. +# If "optional" is specified, client certificates are accepted and must be +# valid if provided, but are not required. +# +# tls-auth-clients no +# tls-auth-clients optional + +# By default, a Redis replica does not attempt to establish a TLS connection +# with its master. +# +# Use the following directive to enable TLS on replication links. +# +# tls-replication yes + +# By default, the Redis Cluster bus uses a plain TCP connection. To enable +# TLS for the bus protocol, use the following directive: +# +# tls-cluster yes + +# By default, only TLSv1.2 and TLSv1.3 are enabled and it is highly recommended +# that older formally deprecated versions are kept disabled to reduce the attack surface. +# You can explicitly specify TLS versions to support. +# Allowed values are case insensitive and include "TLSv1", "TLSv1.1", "TLSv1.2", +# "TLSv1.3" (OpenSSL >= 1.1.1) or any combination. +# To enable only TLSv1.2 and TLSv1.3, use: +# +# tls-protocols "TLSv1.2 TLSv1.3" + +# Configure allowed ciphers. See the ciphers(1ssl) manpage for more information +# about the syntax of this string. +# +# Note: this configuration applies only to <= TLSv1.2. +# +# tls-ciphers DEFAULT:!MEDIUM + +# Configure allowed TLSv1.3 ciphersuites. See the ciphers(1ssl) manpage for more +# information about the syntax of this string, and specifically for TLSv1.3 +# ciphersuites. +# +# tls-ciphersuites TLS_CHACHA20_POLY1305_SHA256 + +# When choosing a cipher, use the server's preference instead of the client +# preference. By default, the server follows the client's preference. +# +# tls-prefer-server-ciphers yes + +# By default, TLS session caching is enabled to allow faster and less expensive +# reconnections by clients that support it. Use the following directive to disable +# caching. +# +# tls-session-caching no + +# Change the default number of TLS sessions cached. A zero value sets the cache +# to unlimited size. The default size is 20480. +# +# tls-session-cache-size 5000 + +# Change the default timeout of cached TLS sessions. The default timeout is 300 +# seconds. +# +# tls-session-cache-timeout 60 + +################################# GENERAL ##################################### + +# By default Redis does not run as a daemon. Use 'yes' if you need it. +# Note that Redis will write a pid file in /var/run/redis.pid when daemonized. +# When Redis is supervised by upstart or systemd, this parameter has no impact. +daemonize no + +# If you run Redis from upstart or systemd, Redis can interact with your +# supervision tree. Options: +# supervised no - no supervision interaction +# supervised upstart - signal upstart by putting Redis into SIGSTOP mode +# requires "expect stop" in your upstart job config +# supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET +# on startup, and updating Redis status on a regular +# basis. +# supervised auto - detect upstart or systemd method based on +# UPSTART_JOB or NOTIFY_SOCKET environment variables +# Note: these supervision methods only signal "process is ready." +# They do not enable continuous pings back to your supervisor. +# +# The default is "no". To run under upstart/systemd, you can simply uncomment +# the line below: +# +# supervised auto + +# If a pid file is specified, Redis writes it where specified at startup +# and removes it at exit. +# +# When the server runs non daemonized, no pid file is created if none is +# specified in the configuration. When the server is daemonized, the pid file +# is used even if not specified, defaulting to "/var/run/redis.pid". +# +# Creating a pid file is best effort: if Redis is not able to create it +# nothing bad happens, the server will start and run normally. +# +# Note that on modern Linux systems "/run/redis.pid" is more conforming +# and should be used instead. +pidfile /var/run/redis_6379.pid + +# Specify the server verbosity level. +# This can be one of: +# debug (a lot of information, useful for development/testing) +# verbose (many rarely useful info, but not a mess like the debug level) +# notice (moderately verbose, what you want in production probably) +# warning (only very important / critical messages are logged) +loglevel notice + +# Specify the log file name. Also the empty string can be used to force +# Redis to log on the standard output. Note that if you use standard +# output for logging but daemonize, logs will be sent to /dev/null +logfile "" + +# To enable logging to the system logger, just set 'syslog-enabled' to yes, +# and optionally update the other syslog parameters to suit your needs. +# syslog-enabled no + +# Specify the syslog identity. +# syslog-ident redis + +# Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7. +# syslog-facility local0 + +# To disable the built in crash log, which will possibly produce cleaner core +# dumps when they are needed, uncomment the following: +# +# crash-log-enabled no + +# To disable the fast memory check that's run as part of the crash log, which +# will possibly let redis terminate sooner, uncomment the following: +# +# crash-memcheck-enabled no + +# Set the number of databases. The default database is DB 0, you can select +# a different one on a per-connection basis using SELECT where +# dbid is a number between 0 and 'databases'-1 +databases 16 + +# By default Redis shows an ASCII art logo only when started to log to the +# standard output and if the standard output is a TTY and syslog logging is +# disabled. Basically this means that normally a logo is displayed only in +# interactive sessions. +# +# However it is possible to force the pre-4.0 behavior and always show a +# ASCII art logo in startup logs by setting the following option to yes. +always-show-logo no + +# By default, Redis modifies the process title (as seen in 'top' and 'ps') to +# provide some runtime information. It is possible to disable this and leave +# the process name as executed by setting the following to no. +set-proc-title yes + +# When changing the process title, Redis uses the following template to construct +# the modified title. +# +# Template variables are specified in curly brackets. The following variables are +# supported: +# +# {title} Name of process as executed if parent, or type of child process. +# {listen-addr} Bind address or '*' followed by TCP or TLS port listening on, or +# Unix socket if only that's available. +# {server-mode} Special mode, i.e. "[sentinel]" or "[cluster]". +# {port} TCP port listening on, or 0. +# {tls-port} TLS port listening on, or 0. +# {unixsocket} Unix domain socket listening on, or "". +# {config-file} Name of configuration file used. +# +proc-title-template "{title} {listen-addr} {server-mode}" + +################################ SNAPSHOTTING ################################ + +# Save the DB to disk. +# +# save +# +# Redis will save the DB if both the given number of seconds and the given +# number of write operations against the DB occurred. +# +# Snapshotting can be completely disabled with a single empty string argument +# as in following example: +# +# save "" +# +# Unless specified otherwise, by default Redis will save the DB: +# * After 3600 seconds (an hour) if at least 1 key changed +# * After 300 seconds (5 minutes) if at least 100 keys changed +# * After 60 seconds if at least 10000 keys changed +# +# You can set these explicitly by uncommenting the three following lines. +# +# save 3600 1 +# save 300 100 +# save 60 10000 + +# By default Redis will stop accepting writes if RDB snapshots are enabled +# (at least one save point) and the latest background save failed. +# This will make the user aware (in a hard way) that data is not persisting +# on disk properly, otherwise chances are that no one will notice and some +# disaster will happen. +# +# If the background saving process will start working again Redis will +# automatically allow writes again. +# +# However if you have setup your proper monitoring of the Redis server +# and persistence, you may want to disable this feature so that Redis will +# continue to work as usual even if there are problems with disk, +# permissions, and so forth. +stop-writes-on-bgsave-error yes + +# Compress string objects using LZF when dump .rdb databases? +# By default compression is enabled as it's almost always a win. +# If you want to save some CPU in the saving child set it to 'no' but +# the dataset will likely be bigger if you have compressible values or keys. +rdbcompression yes + +# Since version 5 of RDB a CRC64 checksum is placed at the end of the file. +# This makes the format more resistant to corruption but there is a performance +# hit to pay (around 10%) when saving and loading RDB files, so you can disable it +# for maximum performances. +# +# RDB files created with checksum disabled have a checksum of zero that will +# tell the loading code to skip the check. +rdbchecksum yes + +# Enables or disables full sanitation checks for ziplist and listpack etc when +# loading an RDB or RESTORE payload. This reduces the chances of a assertion or +# crash later on while processing commands. +# Options: +# no - Never perform full sanitation +# yes - Always perform full sanitation +# clients - Perform full sanitation only for user connections. +# Excludes: RDB files, RESTORE commands received from the master +# connection, and client connections which have the +# skip-sanitize-payload ACL flag. +# The default should be 'clients' but since it currently affects cluster +# resharding via MIGRATE, it is temporarily set to 'no' by default. +# +# sanitize-dump-payload no + +# The filename where to dump the DB +dbfilename dump.rdb + +# Remove RDB files used by replication in instances without persistence +# enabled. By default this option is disabled, however there are environments +# where for regulations or other security concerns, RDB files persisted on +# disk by masters in order to feed replicas, or stored on disk by replicas +# in order to load them for the initial synchronization, should be deleted +# ASAP. Note that this option ONLY WORKS in instances that have both AOF +# and RDB persistence disabled, otherwise is completely ignored. +# +# An alternative (and sometimes better) way to obtain the same effect is +# to use diskless replication on both master and replicas instances. However +# in the case of replicas, diskless is not always an option. +rdb-del-sync-files no + +# The working directory. +# +# The DB will be written inside this directory, with the filename specified +# above using the 'dbfilename' configuration directive. +# +# The Append Only File will also be created inside this directory. +# +# Note that you must specify a directory here, not a file name. +# dir ./ +dir /data/ +################################# REPLICATION ################################# + +# Master-Replica replication. Use replicaof to make a Redis instance a copy of +# another Redis server. A few things to understand ASAP about Redis replication. +# +# +------------------+ +---------------+ +# | Master | ---> | Replica | +# | (receive writes) | | (exact copy) | +# +------------------+ +---------------+ +# +# 1) Redis replication is asynchronous, but you can configure a master to +# stop accepting writes if it appears to be not connected with at least +# a given number of replicas. +# 2) Redis replicas are able to perform a partial resynchronization with the +# master if the replication link is lost for a relatively small amount of +# time. You may want to configure the replication backlog size (see the next +# sections of this file) with a sensible value depending on your needs. +# 3) Replication is automatic and does not need user intervention. After a +# network partition replicas automatically try to reconnect to masters +# and resynchronize with them. +# +# replicaof + +# If the master is password protected (using the "requirepass" configuration +# directive below) it is possible to tell the replica to authenticate before +# starting the replication synchronization process, otherwise the master will +# refuse the replica request. +# +# masterauth +# +# However this is not enough if you are using Redis ACLs (for Redis version +# 6 or greater), and the default user is not capable of running the PSYNC +# command and/or other commands needed for replication. In this case it's +# better to configure a special user to use with replication, and specify the +# masteruser configuration as such: +# +# masteruser +# +# When masteruser is specified, the replica will authenticate against its +# master using the new AUTH form: AUTH . + +# When a replica loses its connection with the master, or when the replication +# is still in progress, the replica can act in two different ways: +# +# 1) if replica-serve-stale-data is set to 'yes' (the default) the replica will +# still reply to client requests, possibly with out of date data, or the +# data set may just be empty if this is the first synchronization. +# +# 2) If replica-serve-stale-data is set to 'no' the replica will reply with +# an error "SYNC with master in progress" to all commands except: +# INFO, REPLICAOF, AUTH, PING, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE, +# UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, PUBLISH, PUBSUB, COMMAND, POST, +# HOST and LATENCY. +# +replica-serve-stale-data yes + +# You can configure a replica instance to accept writes or not. Writing against +# a replica instance may be useful to store some ephemeral data (because data +# written on a replica will be easily deleted after resync with the master) but +# may also cause problems if clients are writing to it because of a +# misconfiguration. +# +# Since Redis 2.6 by default replicas are read-only. +# +# Note: read only replicas are not designed to be exposed to untrusted clients +# on the internet. It's just a protection layer against misuse of the instance. +# Still a read only replica exports by default all the administrative commands +# such as CONFIG, DEBUG, and so forth. To a limited extent you can improve +# security of read only replicas using 'rename-command' to shadow all the +# administrative / dangerous commands. +replica-read-only yes + +# Replication SYNC strategy: disk or socket. +# +# New replicas and reconnecting replicas that are not able to continue the +# replication process just receiving differences, need to do what is called a +# "full synchronization". An RDB file is transmitted from the master to the +# replicas. +# +# The transmission can happen in two different ways: +# +# 1) Disk-backed: The Redis master creates a new process that writes the RDB +# file on disk. Later the file is transferred by the parent +# process to the replicas incrementally. +# 2) Diskless: The Redis master creates a new process that directly writes the +# RDB file to replica sockets, without touching the disk at all. +# +# With disk-backed replication, while the RDB file is generated, more replicas +# can be queued and served with the RDB file as soon as the current child +# producing the RDB file finishes its work. With diskless replication instead +# once the transfer starts, new replicas arriving will be queued and a new +# transfer will start when the current one terminates. +# +# When diskless replication is used, the master waits a configurable amount of +# time (in seconds) before starting the transfer in the hope that multiple +# replicas will arrive and the transfer can be parallelized. +# +# With slow disks and fast (large bandwidth) networks, diskless replication +# works better. +repl-diskless-sync no + +# When diskless replication is enabled, it is possible to configure the delay +# the server waits in order to spawn the child that transfers the RDB via socket +# to the replicas. +# +# This is important since once the transfer starts, it is not possible to serve +# new replicas arriving, that will be queued for the next RDB transfer, so the +# server waits a delay in order to let more replicas arrive. +# +# The delay is specified in seconds, and by default is 5 seconds. To disable +# it entirely just set it to 0 seconds and the transfer will start ASAP. +repl-diskless-sync-delay 5 + +# ----------------------------------------------------------------------------- +# WARNING: RDB diskless load is experimental. Since in this setup the replica +# does not immediately store an RDB on disk, it may cause data loss during +# failovers. RDB diskless load + Redis modules not handling I/O reads may also +# cause Redis to abort in case of I/O errors during the initial synchronization +# stage with the master. Use only if you know what you are doing. +# ----------------------------------------------------------------------------- +# +# Replica can load the RDB it reads from the replication link directly from the +# socket, or store the RDB to a file and read that file after it was completely +# received from the master. +# +# In many cases the disk is slower than the network, and storing and loading +# the RDB file may increase replication time (and even increase the master's +# Copy on Write memory and salve buffers). +# However, parsing the RDB file directly from the socket may mean that we have +# to flush the contents of the current database before the full rdb was +# received. For this reason we have the following options: +# +# "disabled" - Don't use diskless load (store the rdb file to the disk first) +# "on-empty-db" - Use diskless load only when it is completely safe. +# "swapdb" - Keep a copy of the current db contents in RAM while parsing +# the data directly from the socket. note that this requires +# sufficient memory, if you don't have it, you risk an OOM kill. +repl-diskless-load disabled + +# Replicas send PINGs to server in a predefined interval. It's possible to +# change this interval with the repl_ping_replica_period option. The default +# value is 10 seconds. +# +# repl-ping-replica-period 10 + +# The following option sets the replication timeout for: +# +# 1) Bulk transfer I/O during SYNC, from the point of view of replica. +# 2) Master timeout from the point of view of replicas (data, pings). +# 3) Replica timeout from the point of view of masters (REPLCONF ACK pings). +# +# It is important to make sure that this value is greater than the value +# specified for repl-ping-replica-period otherwise a timeout will be detected +# every time there is low traffic between the master and the replica. The default +# value is 60 seconds. +# +# repl-timeout 60 + +# Disable TCP_NODELAY on the replica socket after SYNC? +# +# If you select "yes" Redis will use a smaller number of TCP packets and +# less bandwidth to send data to replicas. But this can add a delay for +# the data to appear on the replica side, up to 40 milliseconds with +# Linux kernels using a default configuration. +# +# If you select "no" the delay for data to appear on the replica side will +# be reduced but more bandwidth will be used for replication. +# +# By default we optimize for low latency, but in very high traffic conditions +# or when the master and replicas are many hops away, turning this to "yes" may +# be a good idea. +repl-disable-tcp-nodelay no + +# Set the replication backlog size. The backlog is a buffer that accumulates +# replica data when replicas are disconnected for some time, so that when a +# replica wants to reconnect again, often a full resync is not needed, but a +# partial resync is enough, just passing the portion of data the replica +# missed while disconnected. +# +# The bigger the replication backlog, the longer the replica can endure the +# disconnect and later be able to perform a partial resynchronization. +# +# The backlog is only allocated if there is at least one replica connected. +# +# repl-backlog-size 1mb + +# After a master has no connected replicas for some time, the backlog will be +# freed. The following option configures the amount of seconds that need to +# elapse, starting from the time the last replica disconnected, for the backlog +# buffer to be freed. +# +# Note that replicas never free the backlog for timeout, since they may be +# promoted to masters later, and should be able to correctly "partially +# resynchronize" with other replicas: hence they should always accumulate backlog. +# +# A value of 0 means to never release the backlog. +# +# repl-backlog-ttl 3600 + +# The replica priority is an integer number published by Redis in the INFO +# output. It is used by Redis Sentinel in order to select a replica to promote +# into a master if the master is no longer working correctly. +# +# A replica with a low priority number is considered better for promotion, so +# for instance if there are three replicas with priority 10, 100, 25 Sentinel +# will pick the one with priority 10, that is the lowest. +# +# However a special priority of 0 marks the replica as not able to perform the +# role of master, so a replica with priority of 0 will never be selected by +# Redis Sentinel for promotion. +# +# By default the priority is 100. +replica-priority 100 + +# ----------------------------------------------------------------------------- +# By default, Redis Sentinel includes all replicas in its reports. A replica +# can be excluded from Redis Sentinel's announcements. An unannounced replica +# will be ignored by the 'sentinel replicas ' command and won't be +# exposed to Redis Sentinel's clients. +# +# This option does not change the behavior of replica-priority. Even with +# replica-announced set to 'no', the replica can be promoted to master. To +# prevent this behavior, set replica-priority to 0. +# +# replica-announced yes + +# It is possible for a master to stop accepting writes if there are less than +# N replicas connected, having a lag less or equal than M seconds. +# +# The N replicas need to be in "online" state. +# +# The lag in seconds, that must be <= the specified value, is calculated from +# the last ping received from the replica, that is usually sent every second. +# +# This option does not GUARANTEE that N replicas will accept the write, but +# will limit the window of exposure for lost writes in case not enough replicas +# are available, to the specified number of seconds. +# +# For example to require at least 3 replicas with a lag <= 10 seconds use: +# +# min-replicas-to-write 3 +# min-replicas-max-lag 10 +# +# Setting one or the other to 0 disables the feature. +# +# By default min-replicas-to-write is set to 0 (feature disabled) and +# min-replicas-max-lag is set to 10. + +# A Redis master is able to list the address and port of the attached +# replicas in different ways. For example the "INFO replication" section +# offers this information, which is used, among other tools, by +# Redis Sentinel in order to discover replica instances. +# Another place where this info is available is in the output of the +# "ROLE" command of a master. +# +# The listed IP address and port normally reported by a replica is +# obtained in the following way: +# +# IP: The address is auto detected by checking the peer address +# of the socket used by the replica to connect with the master. +# +# Port: The port is communicated by the replica during the replication +# handshake, and is normally the port that the replica is using to +# listen for connections. +# +# However when port forwarding or Network Address Translation (NAT) is +# used, the replica may actually be reachable via different IP and port +# pairs. The following two options can be used by a replica in order to +# report to its master a specific set of IP and port, so that both INFO +# and ROLE will report those values. +# +# There is no need to use both the options if you need to override just +# the port or the IP address. +# +# replica-announce-ip 5.5.5.5 +# replica-announce-port 1234 + +############################### KEYS TRACKING ################################# + +# Redis implements server assisted support for client side caching of values. +# This is implemented using an invalidation table that remembers, using +# a radix key indexed by key name, what clients have which keys. In turn +# this is used in order to send invalidation messages to clients. Please +# check this page to understand more about the feature: +# +# https://redis.io/topics/client-side-caching +# +# When tracking is enabled for a client, all the read only queries are assumed +# to be cached: this will force Redis to store information in the invalidation +# table. When keys are modified, such information is flushed away, and +# invalidation messages are sent to the clients. However if the workload is +# heavily dominated by reads, Redis could use more and more memory in order +# to track the keys fetched by many clients. +# +# For this reason it is possible to configure a maximum fill value for the +# invalidation table. By default it is set to 1M of keys, and once this limit +# is reached, Redis will start to evict keys in the invalidation table +# even if they were not modified, just to reclaim memory: this will in turn +# force the clients to invalidate the cached values. Basically the table +# maximum size is a trade off between the memory you want to spend server +# side to track information about who cached what, and the ability of clients +# to retain cached objects in memory. +# +# If you set the value to 0, it means there are no limits, and Redis will +# retain as many keys as needed in the invalidation table. +# In the "stats" INFO section, you can find information about the number of +# keys in the invalidation table at every given moment. +# +# Note: when key tracking is used in broadcasting mode, no memory is used +# in the server side so this setting is useless. +# +# tracking-table-max-keys 1000000 + +################################## SECURITY ################################### + +# Warning: since Redis is pretty fast, an outside user can try up to +# 1 million passwords per second against a modern box. This means that you +# should use very strong passwords, otherwise they will be very easy to break. +# Note that because the password is really a shared secret between the client +# and the server, and should not be memorized by any human, the password +# can be easily a long string from /dev/urandom or whatever, so by using a +# long and unguessable password no brute force attack will be possible. + +# Redis ACL users are defined in the following format: +# +# user ... acl rules ... +# +# For example: +# +# user worker +@list +@connection ~jobs:* on >ffa9203c493aa99 +# +# The special username "default" is used for new connections. If this user +# has the "nopass" rule, then new connections will be immediately authenticated +# as the "default" user without the need of any password provided via the +# AUTH command. Otherwise if the "default" user is not flagged with "nopass" +# the connections will start in not authenticated state, and will require +# AUTH (or the HELLO command AUTH option) in order to be authenticated and +# start to work. +# +# The ACL rules that describe what a user can do are the following: +# +# on Enable the user: it is possible to authenticate as this user. +# off Disable the user: it's no longer possible to authenticate +# with this user, however the already authenticated connections +# will still work. +# skip-sanitize-payload RESTORE dump-payload sanitation is skipped. +# sanitize-payload RESTORE dump-payload is sanitized (default). +# + Allow the execution of that command +# - Disallow the execution of that command +# +@ Allow the execution of all the commands in such category +# with valid categories are like @admin, @set, @sortedset, ... +# and so forth, see the full list in the server.c file where +# the Redis command table is described and defined. +# The special category @all means all the commands, but currently +# present in the server, and that will be loaded in the future +# via modules. +# +|subcommand Allow a specific subcommand of an otherwise +# disabled command. Note that this form is not +# allowed as negative like -DEBUG|SEGFAULT, but +# only additive starting with "+". +# allcommands Alias for +@all. Note that it implies the ability to execute +# all the future commands loaded via the modules system. +# nocommands Alias for -@all. +# ~ Add a pattern of keys that can be mentioned as part of +# commands. For instance ~* allows all the keys. The pattern +# is a glob-style pattern like the one of KEYS. +# It is possible to specify multiple patterns. +# allkeys Alias for ~* +# resetkeys Flush the list of allowed keys patterns. +# & Add a glob-style pattern of Pub/Sub channels that can be +# accessed by the user. It is possible to specify multiple channel +# patterns. +# allchannels Alias for &* +# resetchannels Flush the list of allowed channel patterns. +# > Add this password to the list of valid password for the user. +# For example >mypass will add "mypass" to the list. +# This directive clears the "nopass" flag (see later). +# < Remove this password from the list of valid passwords. +# nopass All the set passwords of the user are removed, and the user +# is flagged as requiring no password: it means that every +# password will work against this user. If this directive is +# used for the default user, every new connection will be +# immediately authenticated with the default user without +# any explicit AUTH command required. Note that the "resetpass" +# directive will clear this condition. +# resetpass Flush the list of allowed passwords. Moreover removes the +# "nopass" status. After "resetpass" the user has no associated +# passwords and there is no way to authenticate without adding +# some password (or setting it as "nopass" later). +# reset Performs the following actions: resetpass, resetkeys, off, +# -@all. The user returns to the same state it has immediately +# after its creation. +# +# ACL rules can be specified in any order: for instance you can start with +# passwords, then flags, or key patterns. However note that the additive +# and subtractive rules will CHANGE MEANING depending on the ordering. +# For instance see the following example: +# +# user alice on +@all -DEBUG ~* >somepassword +# +# This will allow "alice" to use all the commands with the exception of the +# DEBUG command, since +@all added all the commands to the set of the commands +# alice can use, and later DEBUG was removed. However if we invert the order +# of two ACL rules the result will be different: +# +# user alice on -DEBUG +@all ~* >somepassword +# +# Now DEBUG was removed when alice had yet no commands in the set of allowed +# commands, later all the commands are added, so the user will be able to +# execute everything. +# +# Basically ACL rules are processed left-to-right. +# +# For more information about ACL configuration please refer to +# the Redis web site at https://redis.io/topics/acl + +# ACL LOG +# +# The ACL Log tracks failed commands and authentication events associated +# with ACLs. The ACL Log is useful to troubleshoot failed commands blocked +# by ACLs. The ACL Log is stored in memory. You can reclaim memory with +# ACL LOG RESET. Define the maximum entry length of the ACL Log below. +acllog-max-len 128 + +# Using an external ACL file +# +# Instead of configuring users here in this file, it is possible to use +# a stand-alone file just listing users. The two methods cannot be mixed: +# if you configure users here and at the same time you activate the external +# ACL file, the server will refuse to start. +# +# The format of the external ACL user file is exactly the same as the +# format that is used inside redis.conf to describe users. +# +# aclfile /etc/redis/users.acl + +# IMPORTANT NOTE: starting with Redis 6 "requirepass" is just a compatibility +# layer on top of the new ACL system. The option effect will be just setting +# the password for the default user. Clients will still authenticate using +# AUTH as usually, or more explicitly with AUTH default +# if they follow the new protocol: both will work. +# +# The requirepass is not compatable with aclfile option and the ACL LOAD +# command, these will cause requirepass to be ignored. +# +# requirepass foobared + +# New users are initialized with restrictive permissions by default, via the +# equivalent of this ACL rule 'off resetkeys -@all'. Starting with Redis 6.2, it +# is possible to manage access to Pub/Sub channels with ACL rules as well. The +# default Pub/Sub channels permission if new users is controlled by the +# acl-pubsub-default configuration directive, which accepts one of these values: +# +# allchannels: grants access to all Pub/Sub channels +# resetchannels: revokes access to all Pub/Sub channels +# +# To ensure backward compatibility while upgrading Redis 6.0, acl-pubsub-default +# defaults to the 'allchannels' permission. +# +# Future compatibility note: it is very likely that in a future version of Redis +# the directive's default of 'allchannels' will be changed to 'resetchannels' in +# order to provide better out-of-the-box Pub/Sub security. Therefore, it is +# recommended that you explicitly define Pub/Sub permissions for all users +# rather then rely on implicit default values. Once you've set explicit +# Pub/Sub for all existing users, you should uncomment the following line. +# +# acl-pubsub-default resetchannels + +# Command renaming (DEPRECATED). +# +# ------------------------------------------------------------------------ +# WARNING: avoid using this option if possible. Instead use ACLs to remove +# commands from the default user, and put them only in some admin user you +# create for administrative purposes. +# ------------------------------------------------------------------------ +# +# It is possible to change the name of dangerous commands in a shared +# environment. For instance the CONFIG command may be renamed into something +# hard to guess so that it will still be available for internal-use tools +# but not available for general clients. +# +# Example: +# +# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52 +# +# It is also possible to completely kill a command by renaming it into +# an empty string: +# +# rename-command CONFIG "" +# +# Please note that changing the name of commands that are logged into the +# AOF file or transmitted to replicas may cause problems. + +################################### CLIENTS #################################### + +# Set the max number of connected clients at the same time. By default +# this limit is set to 10000 clients, however if the Redis server is not +# able to configure the process file limit to allow for the specified limit +# the max number of allowed clients is set to the current file limit +# minus 32 (as Redis reserves a few file descriptors for internal uses). +# +# Once the limit is reached Redis will close all the new connections sending +# an error 'max number of clients reached'. +# +# IMPORTANT: When Redis Cluster is used, the max number of connections is also +# shared with the cluster bus: every node in the cluster will use two +# connections, one incoming and another outgoing. It is important to size the +# limit accordingly in case of very large clusters. +# +# maxclients 10000 + +############################## MEMORY MANAGEMENT ################################ + +# Set a memory usage limit to the specified amount of bytes. +# When the memory limit is reached Redis will try to remove keys +# according to the eviction policy selected (see maxmemory-policy). +# +# If Redis can't remove keys according to the policy, or if the policy is +# set to 'noeviction', Redis will start to reply with errors to commands +# that would use more memory, like SET, LPUSH, and so on, and will continue +# to reply to read-only commands like GET. +# +# This option is usually useful when using Redis as an LRU or LFU cache, or to +# set a hard memory limit for an instance (using the 'noeviction' policy). +# +# WARNING: If you have replicas attached to an instance with maxmemory on, +# the size of the output buffers needed to feed the replicas are subtracted +# from the used memory count, so that network problems / resyncs will +# not trigger a loop where keys are evicted, and in turn the output +# buffer of replicas is full with DELs of keys evicted triggering the deletion +# of more keys, and so forth until the database is completely emptied. +# +# In short... if you have replicas attached it is suggested that you set a lower +# limit for maxmemory so that there is some free RAM on the system for replica +# output buffers (but this is not needed if the policy is 'noeviction'). +# +# maxmemory + +# MAXMEMORY POLICY: how Redis will select what to remove when maxmemory +# is reached. You can select one from the following behaviors: +# +# volatile-lru -> Evict using approximated LRU, only keys with an expire set. +# allkeys-lru -> Evict any key using approximated LRU. +# volatile-lfu -> Evict using approximated LFU, only keys with an expire set. +# allkeys-lfu -> Evict any key using approximated LFU. +# volatile-random -> Remove a random key having an expire set. +# allkeys-random -> Remove a random key, any key. +# volatile-ttl -> Remove the key with the nearest expire time (minor TTL) +# noeviction -> Don't evict anything, just return an error on write operations. +# +# LRU means Least Recently Used +# LFU means Least Frequently Used +# +# Both LRU, LFU and volatile-ttl are implemented using approximated +# randomized algorithms. +# +# Note: with any of the above policies, when there are no suitable keys for +# eviction, Redis will return an error on write operations that require +# more memory. These are usually commands that create new keys, add data or +# modify existing keys. A few examples are: SET, INCR, HSET, LPUSH, SUNIONSTORE, +# SORT (due to the STORE argument), and EXEC (if the transaction includes any +# command that requires memory). +# +# The default is: +# +# maxmemory-policy noeviction + +# LRU, LFU and minimal TTL algorithms are not precise algorithms but approximated +# algorithms (in order to save memory), so you can tune it for speed or +# accuracy. By default Redis will check five keys and pick the one that was +# used least recently, you can change the sample size using the following +# configuration directive. +# +# The default of 5 produces good enough results. 10 Approximates very closely +# true LRU but costs more CPU. 3 is faster but not very accurate. +# +# maxmemory-samples 5 + +# Eviction processing is designed to function well with the default setting. +# If there is an unusually large amount of write traffic, this value may need to +# be increased. Decreasing this value may reduce latency at the risk of +# eviction processing effectiveness +# 0 = minimum latency, 10 = default, 100 = process without regard to latency +# +# maxmemory-eviction-tenacity 10 + +# Starting from Redis 5, by default a replica will ignore its maxmemory setting +# (unless it is promoted to master after a failover or manually). It means +# that the eviction of keys will be just handled by the master, sending the +# DEL commands to the replica as keys evict in the master side. +# +# This behavior ensures that masters and replicas stay consistent, and is usually +# what you want, however if your replica is writable, or you want the replica +# to have a different memory setting, and you are sure all the writes performed +# to the replica are idempotent, then you may change this default (but be sure +# to understand what you are doing). +# +# Note that since the replica by default does not evict, it may end using more +# memory than the one set via maxmemory (there are certain buffers that may +# be larger on the replica, or data structures may sometimes take more memory +# and so forth). So make sure you monitor your replicas and make sure they +# have enough memory to never hit a real out-of-memory condition before the +# master hits the configured maxmemory setting. +# +# replica-ignore-maxmemory yes + +# Redis reclaims expired keys in two ways: upon access when those keys are +# found to be expired, and also in background, in what is called the +# "active expire key". The key space is slowly and interactively scanned +# looking for expired keys to reclaim, so that it is possible to free memory +# of keys that are expired and will never be accessed again in a short time. +# +# The default effort of the expire cycle will try to avoid having more than +# ten percent of expired keys still in memory, and will try to avoid consuming +# more than 25% of total memory and to add latency to the system. However +# it is possible to increase the expire "effort" that is normally set to +# "1", to a greater value, up to the value "10". At its maximum value the +# system will use more CPU, longer cycles (and technically may introduce +# more latency), and will tolerate less already expired keys still present +# in the system. It's a tradeoff between memory, CPU and latency. +# +# active-expire-effort 1 + +############################# LAZY FREEING #################################### + +# Redis has two primitives to delete keys. One is called DEL and is a blocking +# deletion of the object. It means that the server stops processing new commands +# in order to reclaim all the memory associated with an object in a synchronous +# way. If the key deleted is associated with a small object, the time needed +# in order to execute the DEL command is very small and comparable to most other +# O(1) or O(log_N) commands in Redis. However if the key is associated with an +# aggregated value containing millions of elements, the server can block for +# a long time (even seconds) in order to complete the operation. +# +# For the above reasons Redis also offers non blocking deletion primitives +# such as UNLINK (non blocking DEL) and the ASYNC option of FLUSHALL and +# FLUSHDB commands, in order to reclaim memory in background. Those commands +# are executed in constant time. Another thread will incrementally free the +# object in the background as fast as possible. +# +# DEL, UNLINK and ASYNC option of FLUSHALL and FLUSHDB are user-controlled. +# It's up to the design of the application to understand when it is a good +# idea to use one or the other. However the Redis server sometimes has to +# delete keys or flush the whole database as a side effect of other operations. +# Specifically Redis deletes objects independently of a user call in the +# following scenarios: +# +# 1) On eviction, because of the maxmemory and maxmemory policy configurations, +# in order to make room for new data, without going over the specified +# memory limit. +# 2) Because of expire: when a key with an associated time to live (see the +# EXPIRE command) must be deleted from memory. +# 3) Because of a side effect of a command that stores data on a key that may +# already exist. For example the RENAME command may delete the old key +# content when it is replaced with another one. Similarly SUNIONSTORE +# or SORT with STORE option may delete existing keys. The SET command +# itself removes any old content of the specified key in order to replace +# it with the specified string. +# 4) During replication, when a replica performs a full resynchronization with +# its master, the content of the whole database is removed in order to +# load the RDB file just transferred. +# +# In all the above cases the default is to delete objects in a blocking way, +# like if DEL was called. However you can configure each case specifically +# in order to instead release memory in a non-blocking way like if UNLINK +# was called, using the following configuration directives. + +lazyfree-lazy-eviction no +lazyfree-lazy-expire no +lazyfree-lazy-server-del no +replica-lazy-flush no + +# It is also possible, for the case when to replace the user code DEL calls +# with UNLINK calls is not easy, to modify the default behavior of the DEL +# command to act exactly like UNLINK, using the following configuration +# directive: + +lazyfree-lazy-user-del no + +# FLUSHDB, FLUSHALL, and SCRIPT FLUSH support both asynchronous and synchronous +# deletion, which can be controlled by passing the [SYNC|ASYNC] flags into the +# commands. When neither flag is passed, this directive will be used to determine +# if the data should be deleted asynchronously. + +lazyfree-lazy-user-flush no + +################################ THREADED I/O ################################# + +# Redis is mostly single threaded, however there are certain threaded +# operations such as UNLINK, slow I/O accesses and other things that are +# performed on side threads. +# +# Now it is also possible to handle Redis clients socket reads and writes +# in different I/O threads. Since especially writing is so slow, normally +# Redis users use pipelining in order to speed up the Redis performances per +# core, and spawn multiple instances in order to scale more. Using I/O +# threads it is possible to easily speedup two times Redis without resorting +# to pipelining nor sharding of the instance. +# +# By default threading is disabled, we suggest enabling it only in machines +# that have at least 4 or more cores, leaving at least one spare core. +# Using more than 8 threads is unlikely to help much. We also recommend using +# threaded I/O only if you actually have performance problems, with Redis +# instances being able to use a quite big percentage of CPU time, otherwise +# there is no point in using this feature. +# +# So for instance if you have a four cores boxes, try to use 2 or 3 I/O +# threads, if you have a 8 cores, try to use 6 threads. In order to +# enable I/O threads use the following configuration directive: +# +# io-threads 4 +# +# Setting io-threads to 1 will just use the main thread as usual. +# When I/O threads are enabled, we only use threads for writes, that is +# to thread the write(2) syscall and transfer the client buffers to the +# socket. However it is also possible to enable threading of reads and +# protocol parsing using the following configuration directive, by setting +# it to yes: +# +# io-threads-do-reads no +# +# Usually threading reads doesn't help much. +# +# NOTE 1: This configuration directive cannot be changed at runtime via +# CONFIG SET. Aso this feature currently does not work when SSL is +# enabled. +# +# NOTE 2: If you want to test the Redis speedup using redis-benchmark, make +# sure you also run the benchmark itself in threaded mode, using the +# --threads option to match the number of Redis threads, otherwise you'll not +# be able to notice the improvements. + +############################ KERNEL OOM CONTROL ############################## + +# On Linux, it is possible to hint the kernel OOM killer on what processes +# should be killed first when out of memory. +# +# Enabling this feature makes Redis actively control the oom_score_adj value +# for all its processes, depending on their role. The default scores will +# attempt to have background child processes killed before all others, and +# replicas killed before masters. +# +# Redis supports three options: +# +# no: Don't make changes to oom-score-adj (default). +# yes: Alias to "relative" see below. +# absolute: Values in oom-score-adj-values are written as is to the kernel. +# relative: Values are used relative to the initial value of oom_score_adj when +# the server starts and are then clamped to a range of -1000 to 1000. +# Because typically the initial value is 0, they will often match the +# absolute values. +oom-score-adj no + +# When oom-score-adj is used, this directive controls the specific values used +# for master, replica and background child processes. Values range -2000 to +# 2000 (higher means more likely to be killed). +# +# Unprivileged processes (not root, and without CAP_SYS_RESOURCE capabilities) +# can freely increase their value, but not decrease it below its initial +# settings. This means that setting oom-score-adj to "relative" and setting the +# oom-score-adj-values to positive values will always succeed. +oom-score-adj-values 0 200 800 + + +#################### KERNEL transparent hugepage CONTROL ###################### + +# Usually the kernel Transparent Huge Pages control is set to "madvise" or +# or "never" by default (/sys/kernel/mm/transparent_hugepage/enabled), in which +# case this config has no effect. On systems in which it is set to "always", +# redis will attempt to disable it specifically for the redis process in order +# to avoid latency problems specifically with fork(2) and CoW. +# If for some reason you prefer to keep it enabled, you can set this config to +# "no" and the kernel global to "always". + +disable-thp yes + +############################## APPEND ONLY MODE ############################### + +# By default Redis asynchronously dumps the dataset on disk. This mode is +# good enough in many applications, but an issue with the Redis process or +# a power outage may result into a few minutes of writes lost (depending on +# the configured save points). +# +# The Append Only File is an alternative persistence mode that provides +# much better durability. For instance using the default data fsync policy +# (see later in the config file) Redis can lose just one second of writes in a +# dramatic event like a server power outage, or a single write if something +# wrong with the Redis process itself happens, but the operating system is +# still running correctly. +# +# AOF and RDB persistence can be enabled at the same time without problems. +# If the AOF is enabled on startup Redis will load the AOF, that is the file +# with the better durability guarantees. +# +# Please check https://redis.io/topics/persistence for more information. + +appendonly no + +# The name of the append only file (default: "appendonly.aof") + +appendfilename "appendonly.aof" + +# The fsync() call tells the Operating System to actually write data on disk +# instead of waiting for more data in the output buffer. Some OS will really flush +# data on disk, some other OS will just try to do it ASAP. +# +# Redis supports three different modes: +# +# no: don't fsync, just let the OS flush the data when it wants. Faster. +# always: fsync after every write to the append only log. Slow, Safest. +# everysec: fsync only one time every second. Compromise. +# +# The default is "everysec", as that's usually the right compromise between +# speed and data safety. It's up to you to understand if you can relax this to +# "no" that will let the operating system flush the output buffer when +# it wants, for better performances (but if you can live with the idea of +# some data loss consider the default persistence mode that's snapshotting), +# or on the contrary, use "always" that's very slow but a bit safer than +# everysec. +# +# More details please check the following article: +# http://antirez.com/post/redis-persistence-demystified.html +# +# If unsure, use "everysec". + +# appendfsync always +appendfsync everysec +# appendfsync no + +# When the AOF fsync policy is set to always or everysec, and a background +# saving process (a background save or AOF log background rewriting) is +# performing a lot of I/O against the disk, in some Linux configurations +# Redis may block too long on the fsync() call. Note that there is no fix for +# this currently, as even performing fsync in a different thread will block +# our synchronous write(2) call. +# +# In order to mitigate this problem it's possible to use the following option +# that will prevent fsync() from being called in the main process while a +# BGSAVE or BGREWRITEAOF is in progress. +# +# This means that while another child is saving, the durability of Redis is +# the same as "appendfsync none". In practical terms, this means that it is +# possible to lose up to 30 seconds of log in the worst scenario (with the +# default Linux settings). +# +# If you have latency problems turn this to "yes". Otherwise leave it as +# "no" that is the safest pick from the point of view of durability. + +no-appendfsync-on-rewrite no + +# Automatic rewrite of the append only file. +# Redis is able to automatically rewrite the log file implicitly calling +# BGREWRITEAOF when the AOF log size grows by the specified percentage. +# +# This is how it works: Redis remembers the size of the AOF file after the +# latest rewrite (if no rewrite has happened since the restart, the size of +# the AOF at startup is used). +# +# This base size is compared to the current size. If the current size is +# bigger than the specified percentage, the rewrite is triggered. Also +# you need to specify a minimal size for the AOF file to be rewritten, this +# is useful to avoid rewriting the AOF file even if the percentage increase +# is reached but it is still pretty small. +# +# Specify a percentage of zero in order to disable the automatic AOF +# rewrite feature. + +auto-aof-rewrite-percentage 100 +auto-aof-rewrite-min-size 64mb + +# An AOF file may be found to be truncated at the end during the Redis +# startup process, when the AOF data gets loaded back into memory. +# This may happen when the system where Redis is running +# crashes, especially when an ext4 filesystem is mounted without the +# data=ordered option (however this can't happen when Redis itself +# crashes or aborts but the operating system still works correctly). +# +# Redis can either exit with an error when this happens, or load as much +# data as possible (the default now) and start if the AOF file is found +# to be truncated at the end. The following option controls this behavior. +# +# If aof-load-truncated is set to yes, a truncated AOF file is loaded and +# the Redis server starts emitting a log to inform the user of the event. +# Otherwise if the option is set to no, the server aborts with an error +# and refuses to start. When the option is set to no, the user requires +# to fix the AOF file using the "redis-check-aof" utility before to restart +# the server. +# +# Note that if the AOF file will be found to be corrupted in the middle +# the server will still exit with an error. This option only applies when +# Redis will try to read more data from the AOF file but not enough bytes +# will be found. +aof-load-truncated yes + +# When rewriting the AOF file, Redis is able to use an RDB preamble in the +# AOF file for faster rewrites and recoveries. When this option is turned +# on the rewritten AOF file is composed of two different stanzas: +# +# [RDB file][AOF tail] +# +# When loading, Redis recognizes that the AOF file starts with the "REDIS" +# string and loads the prefixed RDB file, then continues loading the AOF +# tail. +aof-use-rdb-preamble yes + +################################ LUA SCRIPTING ############################### + +# Max execution time of a Lua script in milliseconds. +# +# If the maximum execution time is reached Redis will log that a script is +# still in execution after the maximum allowed time and will start to +# reply to queries with an error. +# +# When a long running script exceeds the maximum execution time only the +# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be +# used to stop a script that did not yet call any write commands. The second +# is the only way to shut down the server in the case a write command was +# already issued by the script but the user doesn't want to wait for the natural +# termination of the script. +# +# Set it to 0 or a negative value for unlimited execution without warnings. +lua-time-limit 5000 + +################################ REDIS CLUSTER ############################### + +# Normal Redis instances can't be part of a Redis Cluster; only nodes that are +# started as cluster nodes can. In order to start a Redis instance as a +# cluster node enable the cluster support uncommenting the following: +# +# cluster-enabled yes +cluster-enabled yes +# Every cluster node has a cluster configuration file. This file is not +# intended to be edited by hand. It is created and updated by Redis nodes. +# Every Redis Cluster node requires a different cluster configuration file. +# Make sure that instances running in the same system do not have +# overlapping cluster configuration file names. +# +# cluster-config-file nodes-6379.conf + +# Cluster node timeout is the amount of milliseconds a node must be unreachable +# for it to be considered in failure state. +# Most other internal time limits are a multiple of the node timeout. +# +# cluster-node-timeout 15000 + +# A replica of a failing master will avoid to start a failover if its data +# looks too old. +# +# There is no simple way for a replica to actually have an exact measure of +# its "data age", so the following two checks are performed: +# +# 1) If there are multiple replicas able to failover, they exchange messages +# in order to try to give an advantage to the replica with the best +# replication offset (more data from the master processed). +# Replicas will try to get their rank by offset, and apply to the start +# of the failover a delay proportional to their rank. +# +# 2) Every single replica computes the time of the last interaction with +# its master. This can be the last ping or command received (if the master +# is still in the "connected" state), or the time that elapsed since the +# disconnection with the master (if the replication link is currently down). +# If the last interaction is too old, the replica will not try to failover +# at all. +# +# The point "2" can be tuned by user. Specifically a replica will not perform +# the failover if, since the last interaction with the master, the time +# elapsed is greater than: +# +# (node-timeout * cluster-replica-validity-factor) + repl-ping-replica-period +# +# So for example if node-timeout is 30 seconds, and the cluster-replica-validity-factor +# is 10, and assuming a default repl-ping-replica-period of 10 seconds, the +# replica will not try to failover if it was not able to talk with the master +# for longer than 310 seconds. +# +# A large cluster-replica-validity-factor may allow replicas with too old data to failover +# a master, while a too small value may prevent the cluster from being able to +# elect a replica at all. +# +# For maximum availability, it is possible to set the cluster-replica-validity-factor +# to a value of 0, which means, that replicas will always try to failover the +# master regardless of the last time they interacted with the master. +# (However they'll always try to apply a delay proportional to their +# offset rank). +# +# Zero is the only value able to guarantee that when all the partitions heal +# the cluster will always be able to continue. +# +# cluster-replica-validity-factor 10 + +# Cluster replicas are able to migrate to orphaned masters, that are masters +# that are left without working replicas. This improves the cluster ability +# to resist to failures as otherwise an orphaned master can't be failed over +# in case of failure if it has no working replicas. +# +# Replicas migrate to orphaned masters only if there are still at least a +# given number of other working replicas for their old master. This number +# is the "migration barrier". A migration barrier of 1 means that a replica +# will migrate only if there is at least 1 other working replica for its master +# and so forth. It usually reflects the number of replicas you want for every +# master in your cluster. +# +# Default is 1 (replicas migrate only if their masters remain with at least +# one replica). To disable migration just set it to a very large value or +# set cluster-allow-replica-migration to 'no'. +# A value of 0 can be set but is useful only for debugging and dangerous +# in production. +# +# cluster-migration-barrier 1 + +# Turning off this option allows to use less automatic cluster configuration. +# It both disables migration to orphaned masters and migration from masters +# that became empty. +# +# Default is 'yes' (allow automatic migrations). +# +# cluster-allow-replica-migration yes + +# By default Redis Cluster nodes stop accepting queries if they detect there +# is at least a hash slot uncovered (no available node is serving it). +# This way if the cluster is partially down (for example a range of hash slots +# are no longer covered) all the cluster becomes, eventually, unavailable. +# It automatically returns available as soon as all the slots are covered again. +# +# However sometimes you want the subset of the cluster which is working, +# to continue to accept queries for the part of the key space that is still +# covered. In order to do so, just set the cluster-require-full-coverage +# option to no. +# +# cluster-require-full-coverage yes + +# This option, when set to yes, prevents replicas from trying to failover its +# master during master failures. However the replica can still perform a +# manual failover, if forced to do so. +# +# This is useful in different scenarios, especially in the case of multiple +# data center operations, where we want one side to never be promoted if not +# in the case of a total DC failure. +# +# cluster-replica-no-failover no + +# This option, when set to yes, allows nodes to serve read traffic while the +# the cluster is in a down state, as long as it believes it owns the slots. +# +# This is useful for two cases. The first case is for when an application +# doesn't require consistency of data during node failures or network partitions. +# One example of this is a cache, where as long as the node has the data it +# should be able to serve it. +# +# The second use case is for configurations that don't meet the recommended +# three shards but want to enable cluster mode and scale later. A +# master outage in a 1 or 2 shard configuration causes a read/write outage to the +# entire cluster without this option set, with it set there is only a write outage. +# Without a quorum of masters, slot ownership will not change automatically. +# +# cluster-allow-reads-when-down no + +# In order to setup your cluster make sure to read the documentation +# available at https://redis.io web site. + +########################## CLUSTER DOCKER/NAT support ######################## + +# In certain deployments, Redis Cluster nodes address discovery fails, because +# addresses are NAT-ted or because ports are forwarded (the typical case is +# Docker and other containers). +# +# In order to make Redis Cluster working in such environments, a static +# configuration where each node knows its public address is needed. The +# following four options are used for this scope, and are: +# +# * cluster-announce-ip +# * cluster-announce-port +# * cluster-announce-tls-port +# * cluster-announce-bus-port +# +# Each instructs the node about its address, client ports (for connections +# without and with TLS) and cluster message bus port. The information is then +# published in the header of the bus packets so that other nodes will be able to +# correctly map the address of the node publishing the information. +# +# If cluster-tls is set to yes and cluster-announce-tls-port is omitted or set +# to zero, then cluster-announce-port refers to the TLS port. Note also that +# cluster-announce-tls-port has no effect if cluster-tls is set to no. +# +# If the above options are not used, the normal Redis Cluster auto-detection +# will be used instead. +# +# Note that when remapped, the bus port may not be at the fixed offset of +# clients port + 10000, so you can specify any port and bus-port depending +# on how they get remapped. If the bus-port is not set, a fixed offset of +# 10000 will be used as usual. +# +# Example: +# +# cluster-announce-ip 10.1.1.5 +# cluster-announce-tls-port 6379 +# cluster-announce-port 0 +# cluster-announce-bus-port 6380 + +################################## SLOW LOG ################################### + +# The Redis Slow Log is a system to log queries that exceeded a specified +# execution time. The execution time does not include the I/O operations +# like talking with the client, sending the reply and so forth, +# but just the time needed to actually execute the command (this is the only +# stage of command execution where the thread is blocked and can not serve +# other requests in the meantime). +# +# You can configure the slow log with two parameters: one tells Redis +# what is the execution time, in microseconds, to exceed in order for the +# command to get logged, and the other parameter is the length of the +# slow log. When a new command is logged the oldest one is removed from the +# queue of logged commands. + +# The following time is expressed in microseconds, so 1000000 is equivalent +# to one second. Note that a negative number disables the slow log, while +# a value of zero forces the logging of every command. +slowlog-log-slower-than 10000 + +# There is no limit to this length. Just be aware that it will consume memory. +# You can reclaim memory used by the slow log with SLOWLOG RESET. +slowlog-max-len 128 + +################################ LATENCY MONITOR ############################## + +# The Redis latency monitoring subsystem samples different operations +# at runtime in order to collect data related to possible sources of +# latency of a Redis instance. +# +# Via the LATENCY command this information is available to the user that can +# print graphs and obtain reports. +# +# The system only logs operations that were performed in a time equal or +# greater than the amount of milliseconds specified via the +# latency-monitor-threshold configuration directive. When its value is set +# to zero, the latency monitor is turned off. +# +# By default latency monitoring is disabled since it is mostly not needed +# if you don't have latency issues, and collecting data has a performance +# impact, that while very small, can be measured under big load. Latency +# monitoring can easily be enabled at runtime using the command +# "CONFIG SET latency-monitor-threshold " if needed. +latency-monitor-threshold 0 + +############################# EVENT NOTIFICATION ############################## + +# Redis can notify Pub/Sub clients about events happening in the key space. +# This feature is documented at https://redis.io/topics/notifications +# +# For instance if keyspace events notification is enabled, and a client +# performs a DEL operation on key "foo" stored in the Database 0, two +# messages will be published via Pub/Sub: +# +# PUBLISH __keyspace@0__:foo del +# PUBLISH __keyevent@0__:del foo +# +# It is possible to select the events that Redis will notify among a set +# of classes. Every class is identified by a single character: +# +# K Keyspace events, published with __keyspace@__ prefix. +# E Keyevent events, published with __keyevent@__ prefix. +# g Generic commands (non-type specific) like DEL, EXPIRE, RENAME, ... +# $ String commands +# l List commands +# s Set commands +# h Hash commands +# z Sorted set commands +# x Expired events (events generated every time a key expires) +# e Evicted events (events generated when a key is evicted for maxmemory) +# t Stream commands +# d Module key type events +# m Key-miss events (Note: It is not included in the 'A' class) +# A Alias for g$lshzxetd, so that the "AKE" string means all the events +# (Except key-miss events which are excluded from 'A' due to their +# unique nature). +# +# The "notify-keyspace-events" takes as argument a string that is composed +# of zero or multiple characters. The empty string means that notifications +# are disabled. +# +# Example: to enable list and generic events, from the point of view of the +# event name, use: +# +# notify-keyspace-events Elg +# +# Example 2: to get the stream of the expired keys subscribing to channel +# name __keyevent@0__:expired use: +# +# notify-keyspace-events Ex +# +# By default all notifications are disabled because most users don't need +# this feature and the feature has some overhead. Note that if you don't +# specify at least one of K or E, no events will be delivered. +notify-keyspace-events "" + +############################### GOPHER SERVER ################################# + +# Redis contains an implementation of the Gopher protocol, as specified in +# the RFC 1436 (https://www.ietf.org/rfc/rfc1436.txt). +# +# The Gopher protocol was very popular in the late '90s. It is an alternative +# to the web, and the implementation both server and client side is so simple +# that the Redis server has just 100 lines of code in order to implement this +# support. +# +# What do you do with Gopher nowadays? Well Gopher never *really* died, and +# lately there is a movement in order for the Gopher more hierarchical content +# composed of just plain text documents to be resurrected. Some want a simpler +# internet, others believe that the mainstream internet became too much +# controlled, and it's cool to create an alternative space for people that +# want a bit of fresh air. +# +# Anyway for the 10nth birthday of the Redis, we gave it the Gopher protocol +# as a gift. +# +# --- HOW IT WORKS? --- +# +# The Redis Gopher support uses the inline protocol of Redis, and specifically +# two kind of inline requests that were anyway illegal: an empty request +# or any request that starts with "/" (there are no Redis commands starting +# with such a slash). Normal RESP2/RESP3 requests are completely out of the +# path of the Gopher protocol implementation and are served as usual as well. +# +# If you open a connection to Redis when Gopher is enabled and send it +# a string like "/foo", if there is a key named "/foo" it is served via the +# Gopher protocol. +# +# In order to create a real Gopher "hole" (the name of a Gopher site in Gopher +# talking), you likely need a script like the following: +# +# https://github.com/antirez/gopher2redis +# +# --- SECURITY WARNING --- +# +# If you plan to put Redis on the internet in a publicly accessible address +# to server Gopher pages MAKE SURE TO SET A PASSWORD to the instance. +# Once a password is set: +# +# 1. The Gopher server (when enabled, not by default) will still serve +# content via Gopher. +# 2. However other commands cannot be called before the client will +# authenticate. +# +# So use the 'requirepass' option to protect your instance. +# +# Note that Gopher is not currently supported when 'io-threads-do-reads' +# is enabled. +# +# To enable Gopher support, uncomment the following line and set the option +# from no (the default) to yes. +# +# gopher-enabled no + +############################### ADVANCED CONFIG ############################### + +# Hashes are encoded using a memory efficient data structure when they have a +# small number of entries, and the biggest entry does not exceed a given +# threshold. These thresholds can be configured using the following directives. +hash-max-ziplist-entries 512 +hash-max-ziplist-value 64 + +# Lists are also encoded in a special way to save a lot of space. +# The number of entries allowed per internal list node can be specified +# as a fixed maximum size or a maximum number of elements. +# For a fixed maximum size, use -5 through -1, meaning: +# -5: max size: 64 Kb <-- not recommended for normal workloads +# -4: max size: 32 Kb <-- not recommended +# -3: max size: 16 Kb <-- probably not recommended +# -2: max size: 8 Kb <-- good +# -1: max size: 4 Kb <-- good +# Positive numbers mean store up to _exactly_ that number of elements +# per list node. +# The highest performing option is usually -2 (8 Kb size) or -1 (4 Kb size), +# but if your use case is unique, adjust the settings as necessary. +list-max-ziplist-size -2 + +# Lists may also be compressed. +# Compress depth is the number of quicklist ziplist nodes from *each* side of +# the list to *exclude* from compression. The head and tail of the list +# are always uncompressed for fast push/pop operations. Settings are: +# 0: disable all list compression +# 1: depth 1 means "don't start compressing until after 1 node into the list, +# going from either the head or tail" +# So: [head]->node->node->...->node->[tail] +# [head], [tail] will always be uncompressed; inner nodes will compress. +# 2: [head]->[next]->node->node->...->node->[prev]->[tail] +# 2 here means: don't compress head or head->next or tail->prev or tail, +# but compress all nodes between them. +# 3: [head]->[next]->[next]->node->node->...->node->[prev]->[prev]->[tail] +# etc. +list-compress-depth 0 + +# Sets have a special encoding in just one case: when a set is composed +# of just strings that happen to be integers in radix 10 in the range +# of 64 bit signed integers. +# The following configuration setting sets the limit in the size of the +# set in order to use this special memory saving encoding. +set-max-intset-entries 512 + +# Similarly to hashes and lists, sorted sets are also specially encoded in +# order to save a lot of space. This encoding is only used when the length and +# elements of a sorted set are below the following limits: +zset-max-ziplist-entries 128 +zset-max-ziplist-value 64 + +# HyperLogLog sparse representation bytes limit. The limit includes the +# 16 bytes header. When an HyperLogLog using the sparse representation crosses +# this limit, it is converted into the dense representation. +# +# A value greater than 16000 is totally useless, since at that point the +# dense representation is more memory efficient. +# +# The suggested value is ~ 3000 in order to have the benefits of +# the space efficient encoding without slowing down too much PFADD, +# which is O(N) with the sparse encoding. The value can be raised to +# ~ 10000 when CPU is not a concern, but space is, and the data set is +# composed of many HyperLogLogs with cardinality in the 0 - 15000 range. +hll-sparse-max-bytes 3000 + +# Streams macro node max size / items. The stream data structure is a radix +# tree of big nodes that encode multiple items inside. Using this configuration +# it is possible to configure how big a single node can be in bytes, and the +# maximum number of items it may contain before switching to a new node when +# appending new stream entries. If any of the following settings are set to +# zero, the limit is ignored, so for instance it is possible to set just a +# max entries limit by setting max-bytes to 0 and max-entries to the desired +# value. +stream-node-max-bytes 4096 +stream-node-max-entries 100 + +# Active rehashing uses 1 millisecond every 100 milliseconds of CPU time in +# order to help rehashing the main Redis hash table (the one mapping top-level +# keys to values). The hash table implementation Redis uses (see dict.c) +# performs a lazy rehashing: the more operation you run into a hash table +# that is rehashing, the more rehashing "steps" are performed, so if the +# server is idle the rehashing is never complete and some more memory is used +# by the hash table. +# +# The default is to use this millisecond 10 times every second in order to +# actively rehash the main dictionaries, freeing memory when possible. +# +# If unsure: +# use "activerehashing no" if you have hard latency requirements and it is +# not a good thing in your environment that Redis can reply from time to time +# to queries with 2 milliseconds delay. +# +# use "activerehashing yes" if you don't have such hard requirements but +# want to free memory asap when possible. +activerehashing yes + +# The client output buffer limits can be used to force disconnection of clients +# that are not reading data from the server fast enough for some reason (a +# common reason is that a Pub/Sub client can't consume messages as fast as the +# publisher can produce them). +# +# The limit can be set differently for the three different classes of clients: +# +# normal -> normal clients including MONITOR clients +# replica -> replica clients +# pubsub -> clients subscribed to at least one pubsub channel or pattern +# +# The syntax of every client-output-buffer-limit directive is the following: +# +# client-output-buffer-limit +# +# A client is immediately disconnected once the hard limit is reached, or if +# the soft limit is reached and remains reached for the specified number of +# seconds (continuously). +# So for instance if the hard limit is 32 megabytes and the soft limit is +# 16 megabytes / 10 seconds, the client will get disconnected immediately +# if the size of the output buffers reach 32 megabytes, but will also get +# disconnected if the client reaches 16 megabytes and continuously overcomes +# the limit for 10 seconds. +# +# By default normal clients are not limited because they don't receive data +# without asking (in a push way), but just after a request, so only +# asynchronous clients may create a scenario where data is requested faster +# than it can read. +# +# Instead there is a default limit for pubsub and replica clients, since +# subscribers and replicas receive data in a push fashion. +# +# Both the hard or the soft limit can be disabled by setting them to zero. +client-output-buffer-limit normal 0 0 0 +client-output-buffer-limit replica 256mb 64mb 60 +client-output-buffer-limit pubsub 32mb 8mb 60 + +# Client query buffers accumulate new commands. They are limited to a fixed +# amount by default in order to avoid that a protocol desynchronization (for +# instance due to a bug in the client) will lead to unbound memory usage in +# the query buffer. However you can configure it here if you have very special +# needs, such us huge multi/exec requests or alike. +# +# client-query-buffer-limit 1gb + +# In the Redis protocol, bulk requests, that are, elements representing single +# strings, are normally limited to 512 mb. However you can change this limit +# here, but must be 1mb or greater +# +# proto-max-bulk-len 512mb + +# Redis calls an internal function to perform many background tasks, like +# closing connections of clients in timeout, purging expired keys that are +# never requested, and so forth. +# +# Not all tasks are performed with the same frequency, but Redis checks for +# tasks to perform according to the specified "hz" value. +# +# By default "hz" is set to 10. Raising the value will use more CPU when +# Redis is idle, but at the same time will make Redis more responsive when +# there are many keys expiring at the same time, and timeouts may be +# handled with more precision. +# +# The range is between 1 and 500, however a value over 100 is usually not +# a good idea. Most users should use the default of 10 and raise this up to +# 100 only in environments where very low latency is required. +hz 10 + +# Normally it is useful to have an HZ value which is proportional to the +# number of clients connected. This is useful in order, for instance, to +# avoid too many clients are processed for each background task invocation +# in order to avoid latency spikes. +# +# Since the default HZ value by default is conservatively set to 10, Redis +# offers, and enables by default, the ability to use an adaptive HZ value +# which will temporarily raise when there are many connected clients. +# +# When dynamic HZ is enabled, the actual configured HZ will be used +# as a baseline, but multiples of the configured HZ value will be actually +# used as needed once more clients are connected. In this way an idle +# instance will use very little CPU time while a busy instance will be +# more responsive. +dynamic-hz yes + +# When a child rewrites the AOF file, if the following option is enabled +# the file will be fsync-ed every 32 MB of data generated. This is useful +# in order to commit the file to the disk more incrementally and avoid +# big latency spikes. +aof-rewrite-incremental-fsync yes + +# When redis saves RDB file, if the following option is enabled +# the file will be fsync-ed every 32 MB of data generated. This is useful +# in order to commit the file to the disk more incrementally and avoid +# big latency spikes. +rdb-save-incremental-fsync yes + +# Redis LFU eviction (see maxmemory setting) can be tuned. However it is a good +# idea to start with the default settings and only change them after investigating +# how to improve the performances and how the keys LFU change over time, which +# is possible to inspect via the OBJECT FREQ command. +# +# There are two tunable parameters in the Redis LFU implementation: the +# counter logarithm factor and the counter decay time. It is important to +# understand what the two parameters mean before changing them. +# +# The LFU counter is just 8 bits per key, it's maximum value is 255, so Redis +# uses a probabilistic increment with logarithmic behavior. Given the value +# of the old counter, when a key is accessed, the counter is incremented in +# this way: +# +# 1. A random number R between 0 and 1 is extracted. +# 2. A probability P is calculated as 1/(old_value*lfu_log_factor+1). +# 3. The counter is incremented only if R < P. +# +# The default lfu-log-factor is 10. This is a table of how the frequency +# counter changes with a different number of accesses with different +# logarithmic factors: +# +# +--------+------------+------------+------------+------------+------------+ +# | factor | 100 hits | 1000 hits | 100K hits | 1M hits | 10M hits | +# +--------+------------+------------+------------+------------+------------+ +# | 0 | 104 | 255 | 255 | 255 | 255 | +# +--------+------------+------------+------------+------------+------------+ +# | 1 | 18 | 49 | 255 | 255 | 255 | +# +--------+------------+------------+------------+------------+------------+ +# | 10 | 10 | 18 | 142 | 255 | 255 | +# +--------+------------+------------+------------+------------+------------+ +# | 100 | 8 | 11 | 49 | 143 | 255 | +# +--------+------------+------------+------------+------------+------------+ +# +# NOTE: The above table was obtained by running the following commands: +# +# redis-benchmark -n 1000000 incr foo +# redis-cli object freq foo +# +# NOTE 2: The counter initial value is 5 in order to give new objects a chance +# to accumulate hits. +# +# The counter decay time is the time, in minutes, that must elapse in order +# for the key counter to be divided by two (or decremented if it has a value +# less <= 10). +# +# The default value for the lfu-decay-time is 1. A special value of 0 means to +# decay the counter every time it happens to be scanned. +# +# lfu-log-factor 10 +# lfu-decay-time 1 + +########################### ACTIVE DEFRAGMENTATION ####################### +# +# What is active defragmentation? +# ------------------------------- +# +# Active (online) defragmentation allows a Redis server to compact the +# spaces left between small allocations and deallocations of data in memory, +# thus allowing to reclaim back memory. +# +# Fragmentation is a natural process that happens with every allocator (but +# less so with Jemalloc, fortunately) and certain workloads. Normally a server +# restart is needed in order to lower the fragmentation, or at least to flush +# away all the data and create it again. However thanks to this feature +# implemented by Oran Agra for Redis 4.0 this process can happen at runtime +# in a "hot" way, while the server is running. +# +# Basically when the fragmentation is over a certain level (see the +# configuration options below) Redis will start to create new copies of the +# values in contiguous memory regions by exploiting certain specific Jemalloc +# features (in order to understand if an allocation is causing fragmentation +# and to allocate it in a better place), and at the same time, will release the +# old copies of the data. This process, repeated incrementally for all the keys +# will cause the fragmentation to drop back to normal values. +# +# Important things to understand: +# +# 1. This feature is disabled by default, and only works if you compiled Redis +# to use the copy of Jemalloc we ship with the source code of Redis. +# This is the default with Linux builds. +# +# 2. You never need to enable this feature if you don't have fragmentation +# issues. +# +# 3. Once you experience fragmentation, you can enable this feature when +# needed with the command "CONFIG SET activedefrag yes". +# +# The configuration parameters are able to fine tune the behavior of the +# defragmentation process. If you are not sure about what they mean it is +# a good idea to leave the defaults untouched. + +# Enabled active defragmentation +# activedefrag no + +# Minimum amount of fragmentation waste to start active defrag +# active-defrag-ignore-bytes 100mb + +# Minimum percentage of fragmentation to start active defrag +# active-defrag-threshold-lower 10 + +# Maximum percentage of fragmentation at which we use maximum effort +# active-defrag-threshold-upper 100 + +# Minimal effort for defrag in CPU percentage, to be used when the lower +# threshold is reached +# active-defrag-cycle-min 1 + +# Maximal effort for defrag in CPU percentage, to be used when the upper +# threshold is reached +# active-defrag-cycle-max 25 + +# Maximum number of set/hash/zset/list fields that will be processed from +# the main dictionary scan +# active-defrag-max-scan-fields 1000 + +# Jemalloc background thread for purging will be enabled by default +jemalloc-bg-thread yes + +# It is possible to pin different threads and processes of Redis to specific +# CPUs in your system, in order to maximize the performances of the server. +# This is useful both in order to pin different Redis threads in different +# CPUs, but also in order to make sure that multiple Redis instances running +# in the same host will be pinned to different CPUs. +# +# Normally you can do this using the "taskset" command, however it is also +# possible to this via Redis configuration directly, both in Linux and FreeBSD. +# +# You can pin the server/IO threads, bio threads, aof rewrite child process, and +# the bgsave child process. The syntax to specify the cpu list is the same as +# the taskset command: +# +# Set redis server/io threads to cpu affinity 0,2,4,6: +# server_cpulist 0-7:2 +# +# Set bio threads to cpu affinity 1,3: +# bio_cpulist 1,3 +# +# Set aof rewrite child process to cpu affinity 8,9,10,11: +# aof_rewrite_cpulist 8-11 +# +# Set bgsave child process to cpu affinity 1,10,11 +# bgsave_cpulist 1,10-11 + +# In some cases redis will emit warnings and even refuse to start if it detects +# that the system is in bad state, it is possible to suppress these warnings +# by setting the following config which takes a space delimited list of warnings +# to suppress +# +# ignore-warnings ARM64-COW-BUG diff --git a/08cache/ha/week12-01/sentinel/sentinel01.config b/08cache/ha/week12-01/sentinel/sentinel01.config new file mode 100644 index 00000000..e64134be --- /dev/null +++ b/08cache/ha/week12-01/sentinel/sentinel01.config @@ -0,0 +1,11 @@ +sentinel monitor mymaster 127.0.0.1 6300 1 +sentinel down-after-milliseconds mymaster 60000 +bind 127.0.0.1 +port 26300 +# Generated by CONFIG REWRITE +user default on nopass ~* &* +@all +dir "/data" +sentinel myid c3e2277009ef6afab3bac5d4a04347dc623c5f62 +sentinel config-epoch mymaster 0 +sentinel leader-epoch mymaster 1 +sentinel current-epoch 1 diff --git a/08cache/ha/week12-01/sentinel/sentinel02.config b/08cache/ha/week12-01/sentinel/sentinel02.config new file mode 100644 index 00000000..345ebe6f --- /dev/null +++ b/08cache/ha/week12-01/sentinel/sentinel02.config @@ -0,0 +1,11 @@ +sentinel monitor mymaster 127.0.0.1 6301 1 +sentinel down-after-milliseconds mymaster 60000 +bind 127.0.0.1 +port 26301 +# Generated by CONFIG REWRITE +user default on nopass ~* &* +@all +dir "/data" +sentinel myid 556b109df3c28e3485e478adfb7fc2b954e67580 +sentinel config-epoch mymaster 0 +sentinel leader-epoch mymaster 1 +sentinel current-epoch 1 diff --git a/08cache/ha/week12-01/slave/redis.conf b/08cache/ha/week12-01/slave/redis.conf new file mode 100644 index 00000000..e8eff277 --- /dev/null +++ b/08cache/ha/week12-01/slave/redis.conf @@ -0,0 +1,2051 @@ +# Redis configuration file example. +# +# Note that in order to read the configuration file, Redis must be +# started with the file path as first argument: +# +# ./redis-server /path/to/redis.conf + +# Note on units: when memory size is needed, it is possible to specify +# it in the usual form of 1k 5GB 4M and so forth: +# +# 1k => 1000 bytes +# 1kb => 1024 bytes +# 1m => 1000000 bytes +# 1mb => 1024*1024 bytes +# 1g => 1000000000 bytes +# 1gb => 1024*1024*1024 bytes +# +# units are case insensitive so 1GB 1Gb 1gB are all the same. + +################################## INCLUDES ################################### + +# Include one or more other config files here. This is useful if you +# have a standard template that goes to all Redis servers but also need +# to customize a few per-server settings. Include files can include +# other files, so use this wisely. +# +# Note that option "include" won't be rewritten by command "CONFIG REWRITE" +# from admin or Redis Sentinel. Since Redis always uses the last processed +# line as value of a configuration directive, you'd better put includes +# at the beginning of this file to avoid overwriting config change at runtime. +# +# If instead you are interested in using includes to override configuration +# options, it is better to use include as the last line. +# +# include /path/to/local.conf +# include /path/to/other.conf + +################################## MODULES ##################################### + +# Load modules at startup. If the server is not able to load modules +# it will abort. It is possible to use multiple loadmodule directives. +# +# loadmodule /path/to/my_module.so +# loadmodule /path/to/other_module.so + +################################## NETWORK ##################################### + +# By default, if no "bind" configuration directive is specified, Redis listens +# for connections from all available network interfaces on the host machine. +# It is possible to listen to just one or multiple selected interfaces using +# the "bind" configuration directive, followed by one or more IP addresses. +# Each address can be prefixed by "-", which means that redis will not fail to +# start if the address is not available. Being not available only refers to +# addresses that does not correspond to any network interfece. Addresses that +# are already in use will always fail, and unsupported protocols will always BE +# silently skipped. +# +# Examples: +# +# bind 192.168.1.100 10.0.0.1 # listens on two specific IPv4 addresses +# bind 127.0.0.1 ::1 # listens on loopback IPv4 and IPv6 +# bind * -::* # like the default, all available interfaces +# +# ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the +# internet, binding to all the interfaces is dangerous and will expose the +# instance to everybody on the internet. So by default we uncomment the +# following bind directive, that will force Redis to listen only on the +# IPv4 and IPv6 (if available) loopback interface addresses (this means Redis +# will only be able to accept client connections from the same host that it is +# running on). +# +# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES +# JUST COMMENT OUT THE FOLLOWING LINE. +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +bind 127.0.0.1 -::1 + +# Protected mode is a layer of security protection, in order to avoid that +# Redis instances left open on the internet are accessed and exploited. +# +# When protected mode is on and if: +# +# 1) The server is not binding explicitly to a set of addresses using the +# "bind" directive. +# 2) No password is configured. +# +# The server only accepts connections from clients connecting from the +# IPv4 and IPv6 loopback addresses 127.0.0.1 and ::1, and from Unix domain +# sockets. +# +# By default protected mode is enabled. You should disable it only if +# you are sure you want clients from other hosts to connect to Redis +# even if no authentication is configured, nor a specific set of interfaces +# are explicitly listed using the "bind" directive. +protected-mode yes + +# Accept connections on the specified port, default is 6379 (IANA #815344). +# If port 0 is specified Redis will not listen on a TCP socket. +port 6379 + +# TCP listen() backlog. +# +# In high requests-per-second environments you need a high backlog in order +# to avoid slow clients connection issues. Note that the Linux kernel +# will silently truncate it to the value of /proc/sys/net/core/somaxconn so +# make sure to raise both the value of somaxconn and tcp_max_syn_backlog +# in order to get the desired effect. +tcp-backlog 511 + +# Unix socket. +# +# Specify the path for the Unix socket that will be used to listen for +# incoming connections. There is no default, so Redis will not listen +# on a unix socket when not specified. +# +# unixsocket /run/redis.sock +# unixsocketperm 700 + +# Close the connection after a client is idle for N seconds (0 to disable) +timeout 0 + +# TCP keepalive. +# +# If non-zero, use SO_KEEPALIVE to send TCP ACKs to clients in absence +# of communication. This is useful for two reasons: +# +# 1) Detect dead peers. +# 2) Force network equipment in the middle to consider the connection to be +# alive. +# +# On Linux, the specified value (in seconds) is the period used to send ACKs. +# Note that to close the connection the double of the time is needed. +# On other kernels the period depends on the kernel configuration. +# +# A reasonable value for this option is 300 seconds, which is the new +# Redis default starting with Redis 3.2.1. +tcp-keepalive 300 + +################################# TLS/SSL ##################################### + +# By default, TLS/SSL is disabled. To enable it, the "tls-port" configuration +# directive can be used to define TLS-listening ports. To enable TLS on the +# default port, use: +# +# port 0 +# tls-port 6379 + +# Configure a X.509 certificate and private key to use for authenticating the +# server to connected clients, masters or cluster peers. These files should be +# PEM formatted. +# +# tls-cert-file redis.crt +# tls-key-file redis.key +# +# If the key file is encrypted using a passphrase, it can be included here +# as well. +# +# tls-key-file-pass secret + +# Normally Redis uses the same certificate for both server functions (accepting +# connections) and client functions (replicating from a master, establishing +# cluster bus connections, etc.). +# +# Sometimes certificates are issued with attributes that designate them as +# client-only or server-only certificates. In that case it may be desired to use +# different certificates for incoming (server) and outgoing (client) +# connections. To do that, use the following directives: +# +# tls-client-cert-file client.crt +# tls-client-key-file client.key +# +# If the key file is encrypted using a passphrase, it can be included here +# as well. +# +# tls-client-key-file-pass secret + +# Configure a DH parameters file to enable Diffie-Hellman (DH) key exchange: +# +# tls-dh-params-file redis.dh + +# Configure a CA certificate(s) bundle or directory to authenticate TLS/SSL +# clients and peers. Redis requires an explicit configuration of at least one +# of these, and will not implicitly use the system wide configuration. +# +# tls-ca-cert-file ca.crt +# tls-ca-cert-dir /etc/ssl/certs + +# By default, clients (including replica servers) on a TLS port are required +# to authenticate using valid client side certificates. +# +# If "no" is specified, client certificates are not required and not accepted. +# If "optional" is specified, client certificates are accepted and must be +# valid if provided, but are not required. +# +# tls-auth-clients no +# tls-auth-clients optional + +# By default, a Redis replica does not attempt to establish a TLS connection +# with its master. +# +# Use the following directive to enable TLS on replication links. +# +# tls-replication yes + +# By default, the Redis Cluster bus uses a plain TCP connection. To enable +# TLS for the bus protocol, use the following directive: +# +# tls-cluster yes + +# By default, only TLSv1.2 and TLSv1.3 are enabled and it is highly recommended +# that older formally deprecated versions are kept disabled to reduce the attack surface. +# You can explicitly specify TLS versions to support. +# Allowed values are case insensitive and include "TLSv1", "TLSv1.1", "TLSv1.2", +# "TLSv1.3" (OpenSSL >= 1.1.1) or any combination. +# To enable only TLSv1.2 and TLSv1.3, use: +# +# tls-protocols "TLSv1.2 TLSv1.3" + +# Configure allowed ciphers. See the ciphers(1ssl) manpage for more information +# about the syntax of this string. +# +# Note: this configuration applies only to <= TLSv1.2. +# +# tls-ciphers DEFAULT:!MEDIUM + +# Configure allowed TLSv1.3 ciphersuites. See the ciphers(1ssl) manpage for more +# information about the syntax of this string, and specifically for TLSv1.3 +# ciphersuites. +# +# tls-ciphersuites TLS_CHACHA20_POLY1305_SHA256 + +# When choosing a cipher, use the server's preference instead of the client +# preference. By default, the server follows the client's preference. +# +# tls-prefer-server-ciphers yes + +# By default, TLS session caching is enabled to allow faster and less expensive +# reconnections by clients that support it. Use the following directive to disable +# caching. +# +# tls-session-caching no + +# Change the default number of TLS sessions cached. A zero value sets the cache +# to unlimited size. The default size is 20480. +# +# tls-session-cache-size 5000 + +# Change the default timeout of cached TLS sessions. The default timeout is 300 +# seconds. +# +# tls-session-cache-timeout 60 + +################################# GENERAL ##################################### + +# By default Redis does not run as a daemon. Use 'yes' if you need it. +# Note that Redis will write a pid file in /var/run/redis.pid when daemonized. +# When Redis is supervised by upstart or systemd, this parameter has no impact. +daemonize no + +# If you run Redis from upstart or systemd, Redis can interact with your +# supervision tree. Options: +# supervised no - no supervision interaction +# supervised upstart - signal upstart by putting Redis into SIGSTOP mode +# requires "expect stop" in your upstart job config +# supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET +# on startup, and updating Redis status on a regular +# basis. +# supervised auto - detect upstart or systemd method based on +# UPSTART_JOB or NOTIFY_SOCKET environment variables +# Note: these supervision methods only signal "process is ready." +# They do not enable continuous pings back to your supervisor. +# +# The default is "no". To run under upstart/systemd, you can simply uncomment +# the line below: +# +# supervised auto + +# If a pid file is specified, Redis writes it where specified at startup +# and removes it at exit. +# +# When the server runs non daemonized, no pid file is created if none is +# specified in the configuration. When the server is daemonized, the pid file +# is used even if not specified, defaulting to "/var/run/redis.pid". +# +# Creating a pid file is best effort: if Redis is not able to create it +# nothing bad happens, the server will start and run normally. +# +# Note that on modern Linux systems "/run/redis.pid" is more conforming +# and should be used instead. +pidfile /var/run/redis_6379.pid + +# Specify the server verbosity level. +# This can be one of: +# debug (a lot of information, useful for development/testing) +# verbose (many rarely useful info, but not a mess like the debug level) +# notice (moderately verbose, what you want in production probably) +# warning (only very important / critical messages are logged) +loglevel notice + +# Specify the log file name. Also the empty string can be used to force +# Redis to log on the standard output. Note that if you use standard +# output for logging but daemonize, logs will be sent to /dev/null +logfile "" + +# To enable logging to the system logger, just set 'syslog-enabled' to yes, +# and optionally update the other syslog parameters to suit your needs. +# syslog-enabled no + +# Specify the syslog identity. +# syslog-ident redis + +# Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7. +# syslog-facility local0 + +# To disable the built in crash log, which will possibly produce cleaner core +# dumps when they are needed, uncomment the following: +# +# crash-log-enabled no + +# To disable the fast memory check that's run as part of the crash log, which +# will possibly let redis terminate sooner, uncomment the following: +# +# crash-memcheck-enabled no + +# Set the number of databases. The default database is DB 0, you can select +# a different one on a per-connection basis using SELECT where +# dbid is a number between 0 and 'databases'-1 +databases 16 + +# By default Redis shows an ASCII art logo only when started to log to the +# standard output and if the standard output is a TTY and syslog logging is +# disabled. Basically this means that normally a logo is displayed only in +# interactive sessions. +# +# However it is possible to force the pre-4.0 behavior and always show a +# ASCII art logo in startup logs by setting the following option to yes. +always-show-logo no + +# By default, Redis modifies the process title (as seen in 'top' and 'ps') to +# provide some runtime information. It is possible to disable this and leave +# the process name as executed by setting the following to no. +set-proc-title yes + +# When changing the process title, Redis uses the following template to construct +# the modified title. +# +# Template variables are specified in curly brackets. The following variables are +# supported: +# +# {title} Name of process as executed if parent, or type of child process. +# {listen-addr} Bind address or '*' followed by TCP or TLS port listening on, or +# Unix socket if only that's available. +# {server-mode} Special mode, i.e. "[sentinel]" or "[cluster]". +# {port} TCP port listening on, or 0. +# {tls-port} TLS port listening on, or 0. +# {unixsocket} Unix domain socket listening on, or "". +# {config-file} Name of configuration file used. +# +proc-title-template "{title} {listen-addr} {server-mode}" + +################################ SNAPSHOTTING ################################ + +# Save the DB to disk. +# +# save +# +# Redis will save the DB if both the given number of seconds and the given +# number of write operations against the DB occurred. +# +# Snapshotting can be completely disabled with a single empty string argument +# as in following example: +# +# save "" +# +# Unless specified otherwise, by default Redis will save the DB: +# * After 3600 seconds (an hour) if at least 1 key changed +# * After 300 seconds (5 minutes) if at least 100 keys changed +# * After 60 seconds if at least 10000 keys changed +# +# You can set these explicitly by uncommenting the three following lines. +# +# save 3600 1 +# save 300 100 +# save 60 10000 + +# By default Redis will stop accepting writes if RDB snapshots are enabled +# (at least one save point) and the latest background save failed. +# This will make the user aware (in a hard way) that data is not persisting +# on disk properly, otherwise chances are that no one will notice and some +# disaster will happen. +# +# If the background saving process will start working again Redis will +# automatically allow writes again. +# +# However if you have setup your proper monitoring of the Redis server +# and persistence, you may want to disable this feature so that Redis will +# continue to work as usual even if there are problems with disk, +# permissions, and so forth. +stop-writes-on-bgsave-error yes + +# Compress string objects using LZF when dump .rdb databases? +# By default compression is enabled as it's almost always a win. +# If you want to save some CPU in the saving child set it to 'no' but +# the dataset will likely be bigger if you have compressible values or keys. +rdbcompression yes + +# Since version 5 of RDB a CRC64 checksum is placed at the end of the file. +# This makes the format more resistant to corruption but there is a performance +# hit to pay (around 10%) when saving and loading RDB files, so you can disable it +# for maximum performances. +# +# RDB files created with checksum disabled have a checksum of zero that will +# tell the loading code to skip the check. +rdbchecksum yes + +# Enables or disables full sanitation checks for ziplist and listpack etc when +# loading an RDB or RESTORE payload. This reduces the chances of a assertion or +# crash later on while processing commands. +# Options: +# no - Never perform full sanitation +# yes - Always perform full sanitation +# clients - Perform full sanitation only for user connections. +# Excludes: RDB files, RESTORE commands received from the master +# connection, and client connections which have the +# skip-sanitize-payload ACL flag. +# The default should be 'clients' but since it currently affects cluster +# resharding via MIGRATE, it is temporarily set to 'no' by default. +# +# sanitize-dump-payload no + +# The filename where to dump the DB +dbfilename dump.rdb + +# Remove RDB files used by replication in instances without persistence +# enabled. By default this option is disabled, however there are environments +# where for regulations or other security concerns, RDB files persisted on +# disk by masters in order to feed replicas, or stored on disk by replicas +# in order to load them for the initial synchronization, should be deleted +# ASAP. Note that this option ONLY WORKS in instances that have both AOF +# and RDB persistence disabled, otherwise is completely ignored. +# +# An alternative (and sometimes better) way to obtain the same effect is +# to use diskless replication on both master and replicas instances. However +# in the case of replicas, diskless is not always an option. +rdb-del-sync-files no + +# The working directory. +# +# The DB will be written inside this directory, with the filename specified +# above using the 'dbfilename' configuration directive. +# +# The Append Only File will also be created inside this directory. +# +# Note that you must specify a directory here, not a file name. +dir ./ + +################################# REPLICATION ################################# + +# Master-Replica replication. Use replicaof to make a Redis instance a copy of +# another Redis server. A few things to understand ASAP about Redis replication. +# +# +------------------+ +---------------+ +# | Master | ---> | Replica | +# | (receive writes) | | (exact copy) | +# +------------------+ +---------------+ +# +# 1) Redis replication is asynchronous, but you can configure a master to +# stop accepting writes if it appears to be not connected with at least +# a given number of replicas. +# 2) Redis replicas are able to perform a partial resynchronization with the +# master if the replication link is lost for a relatively small amount of +# time. You may want to configure the replication backlog size (see the next +# sections of this file) with a sensible value depending on your needs. +# 3) Replication is automatic and does not need user intervention. After a +# network partition replicas automatically try to reconnect to masters +# and resynchronize with them. +# +# replicaof + +# If the master is password protected (using the "requirepass" configuration +# directive below) it is possible to tell the replica to authenticate before +# starting the replication synchronization process, otherwise the master will +# refuse the replica request. +# +# masterauth +# +# However this is not enough if you are using Redis ACLs (for Redis version +# 6 or greater), and the default user is not capable of running the PSYNC +# command and/or other commands needed for replication. In this case it's +# better to configure a special user to use with replication, and specify the +# masteruser configuration as such: +# +# masteruser +# +# When masteruser is specified, the replica will authenticate against its +# master using the new AUTH form: AUTH . + +# When a replica loses its connection with the master, or when the replication +# is still in progress, the replica can act in two different ways: +# +# 1) if replica-serve-stale-data is set to 'yes' (the default) the replica will +# still reply to client requests, possibly with out of date data, or the +# data set may just be empty if this is the first synchronization. +# +# 2) If replica-serve-stale-data is set to 'no' the replica will reply with +# an error "SYNC with master in progress" to all commands except: +# INFO, REPLICAOF, AUTH, PING, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE, +# UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, PUBLISH, PUBSUB, COMMAND, POST, +# HOST and LATENCY. +# +replica-serve-stale-data yes + +# You can configure a replica instance to accept writes or not. Writing against +# a replica instance may be useful to store some ephemeral data (because data +# written on a replica will be easily deleted after resync with the master) but +# may also cause problems if clients are writing to it because of a +# misconfiguration. +# +# Since Redis 2.6 by default replicas are read-only. +# +# Note: read only replicas are not designed to be exposed to untrusted clients +# on the internet. It's just a protection layer against misuse of the instance. +# Still a read only replica exports by default all the administrative commands +# such as CONFIG, DEBUG, and so forth. To a limited extent you can improve +# security of read only replicas using 'rename-command' to shadow all the +# administrative / dangerous commands. +replica-read-only yes + +# Replication SYNC strategy: disk or socket. +# +# New replicas and reconnecting replicas that are not able to continue the +# replication process just receiving differences, need to do what is called a +# "full synchronization". An RDB file is transmitted from the master to the +# replicas. +# +# The transmission can happen in two different ways: +# +# 1) Disk-backed: The Redis master creates a new process that writes the RDB +# file on disk. Later the file is transferred by the parent +# process to the replicas incrementally. +# 2) Diskless: The Redis master creates a new process that directly writes the +# RDB file to replica sockets, without touching the disk at all. +# +# With disk-backed replication, while the RDB file is generated, more replicas +# can be queued and served with the RDB file as soon as the current child +# producing the RDB file finishes its work. With diskless replication instead +# once the transfer starts, new replicas arriving will be queued and a new +# transfer will start when the current one terminates. +# +# When diskless replication is used, the master waits a configurable amount of +# time (in seconds) before starting the transfer in the hope that multiple +# replicas will arrive and the transfer can be parallelized. +# +# With slow disks and fast (large bandwidth) networks, diskless replication +# works better. +repl-diskless-sync no + +# When diskless replication is enabled, it is possible to configure the delay +# the server waits in order to spawn the child that transfers the RDB via socket +# to the replicas. +# +# This is important since once the transfer starts, it is not possible to serve +# new replicas arriving, that will be queued for the next RDB transfer, so the +# server waits a delay in order to let more replicas arrive. +# +# The delay is specified in seconds, and by default is 5 seconds. To disable +# it entirely just set it to 0 seconds and the transfer will start ASAP. +repl-diskless-sync-delay 5 + +# ----------------------------------------------------------------------------- +# WARNING: RDB diskless load is experimental. Since in this setup the replica +# does not immediately store an RDB on disk, it may cause data loss during +# failovers. RDB diskless load + Redis modules not handling I/O reads may also +# cause Redis to abort in case of I/O errors during the initial synchronization +# stage with the master. Use only if you know what you are doing. +# ----------------------------------------------------------------------------- +# +# Replica can load the RDB it reads from the replication link directly from the +# socket, or store the RDB to a file and read that file after it was completely +# received from the master. +# +# In many cases the disk is slower than the network, and storing and loading +# the RDB file may increase replication time (and even increase the master's +# Copy on Write memory and salve buffers). +# However, parsing the RDB file directly from the socket may mean that we have +# to flush the contents of the current database before the full rdb was +# received. For this reason we have the following options: +# +# "disabled" - Don't use diskless load (store the rdb file to the disk first) +# "on-empty-db" - Use diskless load only when it is completely safe. +# "swapdb" - Keep a copy of the current db contents in RAM while parsing +# the data directly from the socket. note that this requires +# sufficient memory, if you don't have it, you risk an OOM kill. +repl-diskless-load disabled + +# Replicas send PINGs to server in a predefined interval. It's possible to +# change this interval with the repl_ping_replica_period option. The default +# value is 10 seconds. +# +# repl-ping-replica-period 10 + +# The following option sets the replication timeout for: +# +# 1) Bulk transfer I/O during SYNC, from the point of view of replica. +# 2) Master timeout from the point of view of replicas (data, pings). +# 3) Replica timeout from the point of view of masters (REPLCONF ACK pings). +# +# It is important to make sure that this value is greater than the value +# specified for repl-ping-replica-period otherwise a timeout will be detected +# every time there is low traffic between the master and the replica. The default +# value is 60 seconds. +# +# repl-timeout 60 + +# Disable TCP_NODELAY on the replica socket after SYNC? +# +# If you select "yes" Redis will use a smaller number of TCP packets and +# less bandwidth to send data to replicas. But this can add a delay for +# the data to appear on the replica side, up to 40 milliseconds with +# Linux kernels using a default configuration. +# +# If you select "no" the delay for data to appear on the replica side will +# be reduced but more bandwidth will be used for replication. +# +# By default we optimize for low latency, but in very high traffic conditions +# or when the master and replicas are many hops away, turning this to "yes" may +# be a good idea. +repl-disable-tcp-nodelay no + +# Set the replication backlog size. The backlog is a buffer that accumulates +# replica data when replicas are disconnected for some time, so that when a +# replica wants to reconnect again, often a full resync is not needed, but a +# partial resync is enough, just passing the portion of data the replica +# missed while disconnected. +# +# The bigger the replication backlog, the longer the replica can endure the +# disconnect and later be able to perform a partial resynchronization. +# +# The backlog is only allocated if there is at least one replica connected. +# +# repl-backlog-size 1mb + +# After a master has no connected replicas for some time, the backlog will be +# freed. The following option configures the amount of seconds that need to +# elapse, starting from the time the last replica disconnected, for the backlog +# buffer to be freed. +# +# Note that replicas never free the backlog for timeout, since they may be +# promoted to masters later, and should be able to correctly "partially +# resynchronize" with other replicas: hence they should always accumulate backlog. +# +# A value of 0 means to never release the backlog. +# +# repl-backlog-ttl 3600 + +# The replica priority is an integer number published by Redis in the INFO +# output. It is used by Redis Sentinel in order to select a replica to promote +# into a master if the master is no longer working correctly. +# +# A replica with a low priority number is considered better for promotion, so +# for instance if there are three replicas with priority 10, 100, 25 Sentinel +# will pick the one with priority 10, that is the lowest. +# +# However a special priority of 0 marks the replica as not able to perform the +# role of master, so a replica with priority of 0 will never be selected by +# Redis Sentinel for promotion. +# +# By default the priority is 100. +replica-priority 100 + +# ----------------------------------------------------------------------------- +# By default, Redis Sentinel includes all replicas in its reports. A replica +# can be excluded from Redis Sentinel's announcements. An unannounced replica +# will be ignored by the 'sentinel replicas ' command and won't be +# exposed to Redis Sentinel's clients. +# +# This option does not change the behavior of replica-priority. Even with +# replica-announced set to 'no', the replica can be promoted to master. To +# prevent this behavior, set replica-priority to 0. +# +# replica-announced yes + +# It is possible for a master to stop accepting writes if there are less than +# N replicas connected, having a lag less or equal than M seconds. +# +# The N replicas need to be in "online" state. +# +# The lag in seconds, that must be <= the specified value, is calculated from +# the last ping received from the replica, that is usually sent every second. +# +# This option does not GUARANTEE that N replicas will accept the write, but +# will limit the window of exposure for lost writes in case not enough replicas +# are available, to the specified number of seconds. +# +# For example to require at least 3 replicas with a lag <= 10 seconds use: +# +# min-replicas-to-write 3 +# min-replicas-max-lag 10 +# +# Setting one or the other to 0 disables the feature. +# +# By default min-replicas-to-write is set to 0 (feature disabled) and +# min-replicas-max-lag is set to 10. + +# A Redis master is able to list the address and port of the attached +# replicas in different ways. For example the "INFO replication" section +# offers this information, which is used, among other tools, by +# Redis Sentinel in order to discover replica instances. +# Another place where this info is available is in the output of the +# "ROLE" command of a master. +# +# The listed IP address and port normally reported by a replica is +# obtained in the following way: +# +# IP: The address is auto detected by checking the peer address +# of the socket used by the replica to connect with the master. +# +# Port: The port is communicated by the replica during the replication +# handshake, and is normally the port that the replica is using to +# listen for connections. +# +# However when port forwarding or Network Address Translation (NAT) is +# used, the replica may actually be reachable via different IP and port +# pairs. The following two options can be used by a replica in order to +# report to its master a specific set of IP and port, so that both INFO +# and ROLE will report those values. +# +# There is no need to use both the options if you need to override just +# the port or the IP address. +# +# replica-announce-ip 5.5.5.5 +# replica-announce-port 1234 + +############################### KEYS TRACKING ################################# + +# Redis implements server assisted support for client side caching of values. +# This is implemented using an invalidation table that remembers, using +# a radix key indexed by key name, what clients have which keys. In turn +# this is used in order to send invalidation messages to clients. Please +# check this page to understand more about the feature: +# +# https://redis.io/topics/client-side-caching +# +# When tracking is enabled for a client, all the read only queries are assumed +# to be cached: this will force Redis to store information in the invalidation +# table. When keys are modified, such information is flushed away, and +# invalidation messages are sent to the clients. However if the workload is +# heavily dominated by reads, Redis could use more and more memory in order +# to track the keys fetched by many clients. +# +# For this reason it is possible to configure a maximum fill value for the +# invalidation table. By default it is set to 1M of keys, and once this limit +# is reached, Redis will start to evict keys in the invalidation table +# even if they were not modified, just to reclaim memory: this will in turn +# force the clients to invalidate the cached values. Basically the table +# maximum size is a trade off between the memory you want to spend server +# side to track information about who cached what, and the ability of clients +# to retain cached objects in memory. +# +# If you set the value to 0, it means there are no limits, and Redis will +# retain as many keys as needed in the invalidation table. +# In the "stats" INFO section, you can find information about the number of +# keys in the invalidation table at every given moment. +# +# Note: when key tracking is used in broadcasting mode, no memory is used +# in the server side so this setting is useless. +# +# tracking-table-max-keys 1000000 + +################################## SECURITY ################################### + +# Warning: since Redis is pretty fast, an outside user can try up to +# 1 million passwords per second against a modern box. This means that you +# should use very strong passwords, otherwise they will be very easy to break. +# Note that because the password is really a shared secret between the client +# and the server, and should not be memorized by any human, the password +# can be easily a long string from /dev/urandom or whatever, so by using a +# long and unguessable password no brute force attack will be possible. + +# Redis ACL users are defined in the following format: +# +# user ... acl rules ... +# +# For example: +# +# user worker +@list +@connection ~jobs:* on >ffa9203c493aa99 +# +# The special username "default" is used for new connections. If this user +# has the "nopass" rule, then new connections will be immediately authenticated +# as the "default" user without the need of any password provided via the +# AUTH command. Otherwise if the "default" user is not flagged with "nopass" +# the connections will start in not authenticated state, and will require +# AUTH (or the HELLO command AUTH option) in order to be authenticated and +# start to work. +# +# The ACL rules that describe what a user can do are the following: +# +# on Enable the user: it is possible to authenticate as this user. +# off Disable the user: it's no longer possible to authenticate +# with this user, however the already authenticated connections +# will still work. +# skip-sanitize-payload RESTORE dump-payload sanitation is skipped. +# sanitize-payload RESTORE dump-payload is sanitized (default). +# + Allow the execution of that command +# - Disallow the execution of that command +# +@ Allow the execution of all the commands in such category +# with valid categories are like @admin, @set, @sortedset, ... +# and so forth, see the full list in the server.c file where +# the Redis command table is described and defined. +# The special category @all means all the commands, but currently +# present in the server, and that will be loaded in the future +# via modules. +# +|subcommand Allow a specific subcommand of an otherwise +# disabled command. Note that this form is not +# allowed as negative like -DEBUG|SEGFAULT, but +# only additive starting with "+". +# allcommands Alias for +@all. Note that it implies the ability to execute +# all the future commands loaded via the modules system. +# nocommands Alias for -@all. +# ~ Add a pattern of keys that can be mentioned as part of +# commands. For instance ~* allows all the keys. The pattern +# is a glob-style pattern like the one of KEYS. +# It is possible to specify multiple patterns. +# allkeys Alias for ~* +# resetkeys Flush the list of allowed keys patterns. +# & Add a glob-style pattern of Pub/Sub channels that can be +# accessed by the user. It is possible to specify multiple channel +# patterns. +# allchannels Alias for &* +# resetchannels Flush the list of allowed channel patterns. +# > Add this password to the list of valid password for the user. +# For example >mypass will add "mypass" to the list. +# This directive clears the "nopass" flag (see later). +# < Remove this password from the list of valid passwords. +# nopass All the set passwords of the user are removed, and the user +# is flagged as requiring no password: it means that every +# password will work against this user. If this directive is +# used for the default user, every new connection will be +# immediately authenticated with the default user without +# any explicit AUTH command required. Note that the "resetpass" +# directive will clear this condition. +# resetpass Flush the list of allowed passwords. Moreover removes the +# "nopass" status. After "resetpass" the user has no associated +# passwords and there is no way to authenticate without adding +# some password (or setting it as "nopass" later). +# reset Performs the following actions: resetpass, resetkeys, off, +# -@all. The user returns to the same state it has immediately +# after its creation. +# +# ACL rules can be specified in any order: for instance you can start with +# passwords, then flags, or key patterns. However note that the additive +# and subtractive rules will CHANGE MEANING depending on the ordering. +# For instance see the following example: +# +# user alice on +@all -DEBUG ~* >somepassword +# +# This will allow "alice" to use all the commands with the exception of the +# DEBUG command, since +@all added all the commands to the set of the commands +# alice can use, and later DEBUG was removed. However if we invert the order +# of two ACL rules the result will be different: +# +# user alice on -DEBUG +@all ~* >somepassword +# +# Now DEBUG was removed when alice had yet no commands in the set of allowed +# commands, later all the commands are added, so the user will be able to +# execute everything. +# +# Basically ACL rules are processed left-to-right. +# +# For more information about ACL configuration please refer to +# the Redis web site at https://redis.io/topics/acl + +# ACL LOG +# +# The ACL Log tracks failed commands and authentication events associated +# with ACLs. The ACL Log is useful to troubleshoot failed commands blocked +# by ACLs. The ACL Log is stored in memory. You can reclaim memory with +# ACL LOG RESET. Define the maximum entry length of the ACL Log below. +acllog-max-len 128 + +# Using an external ACL file +# +# Instead of configuring users here in this file, it is possible to use +# a stand-alone file just listing users. The two methods cannot be mixed: +# if you configure users here and at the same time you activate the external +# ACL file, the server will refuse to start. +# +# The format of the external ACL user file is exactly the same as the +# format that is used inside redis.conf to describe users. +# +# aclfile /etc/redis/users.acl + +# IMPORTANT NOTE: starting with Redis 6 "requirepass" is just a compatibility +# layer on top of the new ACL system. The option effect will be just setting +# the password for the default user. Clients will still authenticate using +# AUTH as usually, or more explicitly with AUTH default +# if they follow the new protocol: both will work. +# +# The requirepass is not compatable with aclfile option and the ACL LOAD +# command, these will cause requirepass to be ignored. +# +# requirepass foobared + +# New users are initialized with restrictive permissions by default, via the +# equivalent of this ACL rule 'off resetkeys -@all'. Starting with Redis 6.2, it +# is possible to manage access to Pub/Sub channels with ACL rules as well. The +# default Pub/Sub channels permission if new users is controlled by the +# acl-pubsub-default configuration directive, which accepts one of these values: +# +# allchannels: grants access to all Pub/Sub channels +# resetchannels: revokes access to all Pub/Sub channels +# +# To ensure backward compatibility while upgrading Redis 6.0, acl-pubsub-default +# defaults to the 'allchannels' permission. +# +# Future compatibility note: it is very likely that in a future version of Redis +# the directive's default of 'allchannels' will be changed to 'resetchannels' in +# order to provide better out-of-the-box Pub/Sub security. Therefore, it is +# recommended that you explicitly define Pub/Sub permissions for all users +# rather then rely on implicit default values. Once you've set explicit +# Pub/Sub for all existing users, you should uncomment the following line. +# +# acl-pubsub-default resetchannels + +# Command renaming (DEPRECATED). +# +# ------------------------------------------------------------------------ +# WARNING: avoid using this option if possible. Instead use ACLs to remove +# commands from the default user, and put them only in some admin user you +# create for administrative purposes. +# ------------------------------------------------------------------------ +# +# It is possible to change the name of dangerous commands in a shared +# environment. For instance the CONFIG command may be renamed into something +# hard to guess so that it will still be available for internal-use tools +# but not available for general clients. +# +# Example: +# +# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52 +# +# It is also possible to completely kill a command by renaming it into +# an empty string: +# +# rename-command CONFIG "" +# +# Please note that changing the name of commands that are logged into the +# AOF file or transmitted to replicas may cause problems. + +################################### CLIENTS #################################### + +# Set the max number of connected clients at the same time. By default +# this limit is set to 10000 clients, however if the Redis server is not +# able to configure the process file limit to allow for the specified limit +# the max number of allowed clients is set to the current file limit +# minus 32 (as Redis reserves a few file descriptors for internal uses). +# +# Once the limit is reached Redis will close all the new connections sending +# an error 'max number of clients reached'. +# +# IMPORTANT: When Redis Cluster is used, the max number of connections is also +# shared with the cluster bus: every node in the cluster will use two +# connections, one incoming and another outgoing. It is important to size the +# limit accordingly in case of very large clusters. +# +# maxclients 10000 + +############################## MEMORY MANAGEMENT ################################ + +# Set a memory usage limit to the specified amount of bytes. +# When the memory limit is reached Redis will try to remove keys +# according to the eviction policy selected (see maxmemory-policy). +# +# If Redis can't remove keys according to the policy, or if the policy is +# set to 'noeviction', Redis will start to reply with errors to commands +# that would use more memory, like SET, LPUSH, and so on, and will continue +# to reply to read-only commands like GET. +# +# This option is usually useful when using Redis as an LRU or LFU cache, or to +# set a hard memory limit for an instance (using the 'noeviction' policy). +# +# WARNING: If you have replicas attached to an instance with maxmemory on, +# the size of the output buffers needed to feed the replicas are subtracted +# from the used memory count, so that network problems / resyncs will +# not trigger a loop where keys are evicted, and in turn the output +# buffer of replicas is full with DELs of keys evicted triggering the deletion +# of more keys, and so forth until the database is completely emptied. +# +# In short... if you have replicas attached it is suggested that you set a lower +# limit for maxmemory so that there is some free RAM on the system for replica +# output buffers (but this is not needed if the policy is 'noeviction'). +# +# maxmemory + +# MAXMEMORY POLICY: how Redis will select what to remove when maxmemory +# is reached. You can select one from the following behaviors: +# +# volatile-lru -> Evict using approximated LRU, only keys with an expire set. +# allkeys-lru -> Evict any key using approximated LRU. +# volatile-lfu -> Evict using approximated LFU, only keys with an expire set. +# allkeys-lfu -> Evict any key using approximated LFU. +# volatile-random -> Remove a random key having an expire set. +# allkeys-random -> Remove a random key, any key. +# volatile-ttl -> Remove the key with the nearest expire time (minor TTL) +# noeviction -> Don't evict anything, just return an error on write operations. +# +# LRU means Least Recently Used +# LFU means Least Frequently Used +# +# Both LRU, LFU and volatile-ttl are implemented using approximated +# randomized algorithms. +# +# Note: with any of the above policies, when there are no suitable keys for +# eviction, Redis will return an error on write operations that require +# more memory. These are usually commands that create new keys, add data or +# modify existing keys. A few examples are: SET, INCR, HSET, LPUSH, SUNIONSTORE, +# SORT (due to the STORE argument), and EXEC (if the transaction includes any +# command that requires memory). +# +# The default is: +# +# maxmemory-policy noeviction + +# LRU, LFU and minimal TTL algorithms are not precise algorithms but approximated +# algorithms (in order to save memory), so you can tune it for speed or +# accuracy. By default Redis will check five keys and pick the one that was +# used least recently, you can change the sample size using the following +# configuration directive. +# +# The default of 5 produces good enough results. 10 Approximates very closely +# true LRU but costs more CPU. 3 is faster but not very accurate. +# +# maxmemory-samples 5 + +# Eviction processing is designed to function well with the default setting. +# If there is an unusually large amount of write traffic, this value may need to +# be increased. Decreasing this value may reduce latency at the risk of +# eviction processing effectiveness +# 0 = minimum latency, 10 = default, 100 = process without regard to latency +# +# maxmemory-eviction-tenacity 10 + +# Starting from Redis 5, by default a replica will ignore its maxmemory setting +# (unless it is promoted to master after a failover or manually). It means +# that the eviction of keys will be just handled by the master, sending the +# DEL commands to the replica as keys evict in the master side. +# +# This behavior ensures that masters and replicas stay consistent, and is usually +# what you want, however if your replica is writable, or you want the replica +# to have a different memory setting, and you are sure all the writes performed +# to the replica are idempotent, then you may change this default (but be sure +# to understand what you are doing). +# +# Note that since the replica by default does not evict, it may end using more +# memory than the one set via maxmemory (there are certain buffers that may +# be larger on the replica, or data structures may sometimes take more memory +# and so forth). So make sure you monitor your replicas and make sure they +# have enough memory to never hit a real out-of-memory condition before the +# master hits the configured maxmemory setting. +# +# replica-ignore-maxmemory yes + +# Redis reclaims expired keys in two ways: upon access when those keys are +# found to be expired, and also in background, in what is called the +# "active expire key". The key space is slowly and interactively scanned +# looking for expired keys to reclaim, so that it is possible to free memory +# of keys that are expired and will never be accessed again in a short time. +# +# The default effort of the expire cycle will try to avoid having more than +# ten percent of expired keys still in memory, and will try to avoid consuming +# more than 25% of total memory and to add latency to the system. However +# it is possible to increase the expire "effort" that is normally set to +# "1", to a greater value, up to the value "10". At its maximum value the +# system will use more CPU, longer cycles (and technically may introduce +# more latency), and will tolerate less already expired keys still present +# in the system. It's a tradeoff between memory, CPU and latency. +# +# active-expire-effort 1 + +############################# LAZY FREEING #################################### + +# Redis has two primitives to delete keys. One is called DEL and is a blocking +# deletion of the object. It means that the server stops processing new commands +# in order to reclaim all the memory associated with an object in a synchronous +# way. If the key deleted is associated with a small object, the time needed +# in order to execute the DEL command is very small and comparable to most other +# O(1) or O(log_N) commands in Redis. However if the key is associated with an +# aggregated value containing millions of elements, the server can block for +# a long time (even seconds) in order to complete the operation. +# +# For the above reasons Redis also offers non blocking deletion primitives +# such as UNLINK (non blocking DEL) and the ASYNC option of FLUSHALL and +# FLUSHDB commands, in order to reclaim memory in background. Those commands +# are executed in constant time. Another thread will incrementally free the +# object in the background as fast as possible. +# +# DEL, UNLINK and ASYNC option of FLUSHALL and FLUSHDB are user-controlled. +# It's up to the design of the application to understand when it is a good +# idea to use one or the other. However the Redis server sometimes has to +# delete keys or flush the whole database as a side effect of other operations. +# Specifically Redis deletes objects independently of a user call in the +# following scenarios: +# +# 1) On eviction, because of the maxmemory and maxmemory policy configurations, +# in order to make room for new data, without going over the specified +# memory limit. +# 2) Because of expire: when a key with an associated time to live (see the +# EXPIRE command) must be deleted from memory. +# 3) Because of a side effect of a command that stores data on a key that may +# already exist. For example the RENAME command may delete the old key +# content when it is replaced with another one. Similarly SUNIONSTORE +# or SORT with STORE option may delete existing keys. The SET command +# itself removes any old content of the specified key in order to replace +# it with the specified string. +# 4) During replication, when a replica performs a full resynchronization with +# its master, the content of the whole database is removed in order to +# load the RDB file just transferred. +# +# In all the above cases the default is to delete objects in a blocking way, +# like if DEL was called. However you can configure each case specifically +# in order to instead release memory in a non-blocking way like if UNLINK +# was called, using the following configuration directives. + +lazyfree-lazy-eviction no +lazyfree-lazy-expire no +lazyfree-lazy-server-del no +replica-lazy-flush no + +# It is also possible, for the case when to replace the user code DEL calls +# with UNLINK calls is not easy, to modify the default behavior of the DEL +# command to act exactly like UNLINK, using the following configuration +# directive: + +lazyfree-lazy-user-del no + +# FLUSHDB, FLUSHALL, and SCRIPT FLUSH support both asynchronous and synchronous +# deletion, which can be controlled by passing the [SYNC|ASYNC] flags into the +# commands. When neither flag is passed, this directive will be used to determine +# if the data should be deleted asynchronously. + +lazyfree-lazy-user-flush no + +################################ THREADED I/O ################################# + +# Redis is mostly single threaded, however there are certain threaded +# operations such as UNLINK, slow I/O accesses and other things that are +# performed on side threads. +# +# Now it is also possible to handle Redis clients socket reads and writes +# in different I/O threads. Since especially writing is so slow, normally +# Redis users use pipelining in order to speed up the Redis performances per +# core, and spawn multiple instances in order to scale more. Using I/O +# threads it is possible to easily speedup two times Redis without resorting +# to pipelining nor sharding of the instance. +# +# By default threading is disabled, we suggest enabling it only in machines +# that have at least 4 or more cores, leaving at least one spare core. +# Using more than 8 threads is unlikely to help much. We also recommend using +# threaded I/O only if you actually have performance problems, with Redis +# instances being able to use a quite big percentage of CPU time, otherwise +# there is no point in using this feature. +# +# So for instance if you have a four cores boxes, try to use 2 or 3 I/O +# threads, if you have a 8 cores, try to use 6 threads. In order to +# enable I/O threads use the following configuration directive: +# +# io-threads 4 +# +# Setting io-threads to 1 will just use the main thread as usual. +# When I/O threads are enabled, we only use threads for writes, that is +# to thread the write(2) syscall and transfer the client buffers to the +# socket. However it is also possible to enable threading of reads and +# protocol parsing using the following configuration directive, by setting +# it to yes: +# +# io-threads-do-reads no +# +# Usually threading reads doesn't help much. +# +# NOTE 1: This configuration directive cannot be changed at runtime via +# CONFIG SET. Aso this feature currently does not work when SSL is +# enabled. +# +# NOTE 2: If you want to test the Redis speedup using redis-benchmark, make +# sure you also run the benchmark itself in threaded mode, using the +# --threads option to match the number of Redis threads, otherwise you'll not +# be able to notice the improvements. + +############################ KERNEL OOM CONTROL ############################## + +# On Linux, it is possible to hint the kernel OOM killer on what processes +# should be killed first when out of memory. +# +# Enabling this feature makes Redis actively control the oom_score_adj value +# for all its processes, depending on their role. The default scores will +# attempt to have background child processes killed before all others, and +# replicas killed before masters. +# +# Redis supports three options: +# +# no: Don't make changes to oom-score-adj (default). +# yes: Alias to "relative" see below. +# absolute: Values in oom-score-adj-values are written as is to the kernel. +# relative: Values are used relative to the initial value of oom_score_adj when +# the server starts and are then clamped to a range of -1000 to 1000. +# Because typically the initial value is 0, they will often match the +# absolute values. +oom-score-adj no + +# When oom-score-adj is used, this directive controls the specific values used +# for master, replica and background child processes. Values range -2000 to +# 2000 (higher means more likely to be killed). +# +# Unprivileged processes (not root, and without CAP_SYS_RESOURCE capabilities) +# can freely increase their value, but not decrease it below its initial +# settings. This means that setting oom-score-adj to "relative" and setting the +# oom-score-adj-values to positive values will always succeed. +oom-score-adj-values 0 200 800 + + +#################### KERNEL transparent hugepage CONTROL ###################### + +# Usually the kernel Transparent Huge Pages control is set to "madvise" or +# or "never" by default (/sys/kernel/mm/transparent_hugepage/enabled), in which +# case this config has no effect. On systems in which it is set to "always", +# redis will attempt to disable it specifically for the redis process in order +# to avoid latency problems specifically with fork(2) and CoW. +# If for some reason you prefer to keep it enabled, you can set this config to +# "no" and the kernel global to "always". + +disable-thp yes + +############################## APPEND ONLY MODE ############################### + +# By default Redis asynchronously dumps the dataset on disk. This mode is +# good enough in many applications, but an issue with the Redis process or +# a power outage may result into a few minutes of writes lost (depending on +# the configured save points). +# +# The Append Only File is an alternative persistence mode that provides +# much better durability. For instance using the default data fsync policy +# (see later in the config file) Redis can lose just one second of writes in a +# dramatic event like a server power outage, or a single write if something +# wrong with the Redis process itself happens, but the operating system is +# still running correctly. +# +# AOF and RDB persistence can be enabled at the same time without problems. +# If the AOF is enabled on startup Redis will load the AOF, that is the file +# with the better durability guarantees. +# +# Please check https://redis.io/topics/persistence for more information. + +appendonly no + +# The name of the append only file (default: "appendonly.aof") + +appendfilename "appendonly.aof" + +# The fsync() call tells the Operating System to actually write data on disk +# instead of waiting for more data in the output buffer. Some OS will really flush +# data on disk, some other OS will just try to do it ASAP. +# +# Redis supports three different modes: +# +# no: don't fsync, just let the OS flush the data when it wants. Faster. +# always: fsync after every write to the append only log. Slow, Safest. +# everysec: fsync only one time every second. Compromise. +# +# The default is "everysec", as that's usually the right compromise between +# speed and data safety. It's up to you to understand if you can relax this to +# "no" that will let the operating system flush the output buffer when +# it wants, for better performances (but if you can live with the idea of +# some data loss consider the default persistence mode that's snapshotting), +# or on the contrary, use "always" that's very slow but a bit safer than +# everysec. +# +# More details please check the following article: +# http://antirez.com/post/redis-persistence-demystified.html +# +# If unsure, use "everysec". + +# appendfsync always +appendfsync everysec +# appendfsync no + +# When the AOF fsync policy is set to always or everysec, and a background +# saving process (a background save or AOF log background rewriting) is +# performing a lot of I/O against the disk, in some Linux configurations +# Redis may block too long on the fsync() call. Note that there is no fix for +# this currently, as even performing fsync in a different thread will block +# our synchronous write(2) call. +# +# In order to mitigate this problem it's possible to use the following option +# that will prevent fsync() from being called in the main process while a +# BGSAVE or BGREWRITEAOF is in progress. +# +# This means that while another child is saving, the durability of Redis is +# the same as "appendfsync none". In practical terms, this means that it is +# possible to lose up to 30 seconds of log in the worst scenario (with the +# default Linux settings). +# +# If you have latency problems turn this to "yes". Otherwise leave it as +# "no" that is the safest pick from the point of view of durability. + +no-appendfsync-on-rewrite no + +# Automatic rewrite of the append only file. +# Redis is able to automatically rewrite the log file implicitly calling +# BGREWRITEAOF when the AOF log size grows by the specified percentage. +# +# This is how it works: Redis remembers the size of the AOF file after the +# latest rewrite (if no rewrite has happened since the restart, the size of +# the AOF at startup is used). +# +# This base size is compared to the current size. If the current size is +# bigger than the specified percentage, the rewrite is triggered. Also +# you need to specify a minimal size for the AOF file to be rewritten, this +# is useful to avoid rewriting the AOF file even if the percentage increase +# is reached but it is still pretty small. +# +# Specify a percentage of zero in order to disable the automatic AOF +# rewrite feature. + +auto-aof-rewrite-percentage 100 +auto-aof-rewrite-min-size 64mb + +# An AOF file may be found to be truncated at the end during the Redis +# startup process, when the AOF data gets loaded back into memory. +# This may happen when the system where Redis is running +# crashes, especially when an ext4 filesystem is mounted without the +# data=ordered option (however this can't happen when Redis itself +# crashes or aborts but the operating system still works correctly). +# +# Redis can either exit with an error when this happens, or load as much +# data as possible (the default now) and start if the AOF file is found +# to be truncated at the end. The following option controls this behavior. +# +# If aof-load-truncated is set to yes, a truncated AOF file is loaded and +# the Redis server starts emitting a log to inform the user of the event. +# Otherwise if the option is set to no, the server aborts with an error +# and refuses to start. When the option is set to no, the user requires +# to fix the AOF file using the "redis-check-aof" utility before to restart +# the server. +# +# Note that if the AOF file will be found to be corrupted in the middle +# the server will still exit with an error. This option only applies when +# Redis will try to read more data from the AOF file but not enough bytes +# will be found. +aof-load-truncated yes + +# When rewriting the AOF file, Redis is able to use an RDB preamble in the +# AOF file for faster rewrites and recoveries. When this option is turned +# on the rewritten AOF file is composed of two different stanzas: +# +# [RDB file][AOF tail] +# +# When loading, Redis recognizes that the AOF file starts with the "REDIS" +# string and loads the prefixed RDB file, then continues loading the AOF +# tail. +aof-use-rdb-preamble yes + +################################ LUA SCRIPTING ############################### + +# Max execution time of a Lua script in milliseconds. +# +# If the maximum execution time is reached Redis will log that a script is +# still in execution after the maximum allowed time and will start to +# reply to queries with an error. +# +# When a long running script exceeds the maximum execution time only the +# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be +# used to stop a script that did not yet call any write commands. The second +# is the only way to shut down the server in the case a write command was +# already issued by the script but the user doesn't want to wait for the natural +# termination of the script. +# +# Set it to 0 or a negative value for unlimited execution without warnings. +lua-time-limit 5000 + +################################ REDIS CLUSTER ############################### + +# Normal Redis instances can't be part of a Redis Cluster; only nodes that are +# started as cluster nodes can. In order to start a Redis instance as a +# cluster node enable the cluster support uncommenting the following: +# +# cluster-enabled yes + +# Every cluster node has a cluster configuration file. This file is not +# intended to be edited by hand. It is created and updated by Redis nodes. +# Every Redis Cluster node requires a different cluster configuration file. +# Make sure that instances running in the same system do not have +# overlapping cluster configuration file names. +# +# cluster-config-file nodes-6379.conf + +# Cluster node timeout is the amount of milliseconds a node must be unreachable +# for it to be considered in failure state. +# Most other internal time limits are a multiple of the node timeout. +# +# cluster-node-timeout 15000 + +# A replica of a failing master will avoid to start a failover if its data +# looks too old. +# +# There is no simple way for a replica to actually have an exact measure of +# its "data age", so the following two checks are performed: +# +# 1) If there are multiple replicas able to failover, they exchange messages +# in order to try to give an advantage to the replica with the best +# replication offset (more data from the master processed). +# Replicas will try to get their rank by offset, and apply to the start +# of the failover a delay proportional to their rank. +# +# 2) Every single replica computes the time of the last interaction with +# its master. This can be the last ping or command received (if the master +# is still in the "connected" state), or the time that elapsed since the +# disconnection with the master (if the replication link is currently down). +# If the last interaction is too old, the replica will not try to failover +# at all. +# +# The point "2" can be tuned by user. Specifically a replica will not perform +# the failover if, since the last interaction with the master, the time +# elapsed is greater than: +# +# (node-timeout * cluster-replica-validity-factor) + repl-ping-replica-period +# +# So for example if node-timeout is 30 seconds, and the cluster-replica-validity-factor +# is 10, and assuming a default repl-ping-replica-period of 10 seconds, the +# replica will not try to failover if it was not able to talk with the master +# for longer than 310 seconds. +# +# A large cluster-replica-validity-factor may allow replicas with too old data to failover +# a master, while a too small value may prevent the cluster from being able to +# elect a replica at all. +# +# For maximum availability, it is possible to set the cluster-replica-validity-factor +# to a value of 0, which means, that replicas will always try to failover the +# master regardless of the last time they interacted with the master. +# (However they'll always try to apply a delay proportional to their +# offset rank). +# +# Zero is the only value able to guarantee that when all the partitions heal +# the cluster will always be able to continue. +# +# cluster-replica-validity-factor 10 + +# Cluster replicas are able to migrate to orphaned masters, that are masters +# that are left without working replicas. This improves the cluster ability +# to resist to failures as otherwise an orphaned master can't be failed over +# in case of failure if it has no working replicas. +# +# Replicas migrate to orphaned masters only if there are still at least a +# given number of other working replicas for their old master. This number +# is the "migration barrier". A migration barrier of 1 means that a replica +# will migrate only if there is at least 1 other working replica for its master +# and so forth. It usually reflects the number of replicas you want for every +# master in your cluster. +# +# Default is 1 (replicas migrate only if their masters remain with at least +# one replica). To disable migration just set it to a very large value or +# set cluster-allow-replica-migration to 'no'. +# A value of 0 can be set but is useful only for debugging and dangerous +# in production. +# +# cluster-migration-barrier 1 + +# Turning off this option allows to use less automatic cluster configuration. +# It both disables migration to orphaned masters and migration from masters +# that became empty. +# +# Default is 'yes' (allow automatic migrations). +# +# cluster-allow-replica-migration yes + +# By default Redis Cluster nodes stop accepting queries if they detect there +# is at least a hash slot uncovered (no available node is serving it). +# This way if the cluster is partially down (for example a range of hash slots +# are no longer covered) all the cluster becomes, eventually, unavailable. +# It automatically returns available as soon as all the slots are covered again. +# +# However sometimes you want the subset of the cluster which is working, +# to continue to accept queries for the part of the key space that is still +# covered. In order to do so, just set the cluster-require-full-coverage +# option to no. +# +# cluster-require-full-coverage yes + +# This option, when set to yes, prevents replicas from trying to failover its +# master during master failures. However the replica can still perform a +# manual failover, if forced to do so. +# +# This is useful in different scenarios, especially in the case of multiple +# data center operations, where we want one side to never be promoted if not +# in the case of a total DC failure. +# +# cluster-replica-no-failover no + +# This option, when set to yes, allows nodes to serve read traffic while the +# the cluster is in a down state, as long as it believes it owns the slots. +# +# This is useful for two cases. The first case is for when an application +# doesn't require consistency of data during node failures or network partitions. +# One example of this is a cache, where as long as the node has the data it +# should be able to serve it. +# +# The second use case is for configurations that don't meet the recommended +# three shards but want to enable cluster mode and scale later. A +# master outage in a 1 or 2 shard configuration causes a read/write outage to the +# entire cluster without this option set, with it set there is only a write outage. +# Without a quorum of masters, slot ownership will not change automatically. +# +# cluster-allow-reads-when-down no + +# In order to setup your cluster make sure to read the documentation +# available at https://redis.io web site. + +########################## CLUSTER DOCKER/NAT support ######################## + +# In certain deployments, Redis Cluster nodes address discovery fails, because +# addresses are NAT-ted or because ports are forwarded (the typical case is +# Docker and other containers). +# +# In order to make Redis Cluster working in such environments, a static +# configuration where each node knows its public address is needed. The +# following four options are used for this scope, and are: +# +# * cluster-announce-ip +# * cluster-announce-port +# * cluster-announce-tls-port +# * cluster-announce-bus-port +# +# Each instructs the node about its address, client ports (for connections +# without and with TLS) and cluster message bus port. The information is then +# published in the header of the bus packets so that other nodes will be able to +# correctly map the address of the node publishing the information. +# +# If cluster-tls is set to yes and cluster-announce-tls-port is omitted or set +# to zero, then cluster-announce-port refers to the TLS port. Note also that +# cluster-announce-tls-port has no effect if cluster-tls is set to no. +# +# If the above options are not used, the normal Redis Cluster auto-detection +# will be used instead. +# +# Note that when remapped, the bus port may not be at the fixed offset of +# clients port + 10000, so you can specify any port and bus-port depending +# on how they get remapped. If the bus-port is not set, a fixed offset of +# 10000 will be used as usual. +# +# Example: +# +# cluster-announce-ip 10.1.1.5 +# cluster-announce-tls-port 6379 +# cluster-announce-port 0 +# cluster-announce-bus-port 6380 + +################################## SLOW LOG ################################### + +# The Redis Slow Log is a system to log queries that exceeded a specified +# execution time. The execution time does not include the I/O operations +# like talking with the client, sending the reply and so forth, +# but just the time needed to actually execute the command (this is the only +# stage of command execution where the thread is blocked and can not serve +# other requests in the meantime). +# +# You can configure the slow log with two parameters: one tells Redis +# what is the execution time, in microseconds, to exceed in order for the +# command to get logged, and the other parameter is the length of the +# slow log. When a new command is logged the oldest one is removed from the +# queue of logged commands. + +# The following time is expressed in microseconds, so 1000000 is equivalent +# to one second. Note that a negative number disables the slow log, while +# a value of zero forces the logging of every command. +slowlog-log-slower-than 10000 + +# There is no limit to this length. Just be aware that it will consume memory. +# You can reclaim memory used by the slow log with SLOWLOG RESET. +slowlog-max-len 128 + +################################ LATENCY MONITOR ############################## + +# The Redis latency monitoring subsystem samples different operations +# at runtime in order to collect data related to possible sources of +# latency of a Redis instance. +# +# Via the LATENCY command this information is available to the user that can +# print graphs and obtain reports. +# +# The system only logs operations that were performed in a time equal or +# greater than the amount of milliseconds specified via the +# latency-monitor-threshold configuration directive. When its value is set +# to zero, the latency monitor is turned off. +# +# By default latency monitoring is disabled since it is mostly not needed +# if you don't have latency issues, and collecting data has a performance +# impact, that while very small, can be measured under big load. Latency +# monitoring can easily be enabled at runtime using the command +# "CONFIG SET latency-monitor-threshold " if needed. +latency-monitor-threshold 0 + +############################# EVENT NOTIFICATION ############################## + +# Redis can notify Pub/Sub clients about events happening in the key space. +# This feature is documented at https://redis.io/topics/notifications +# +# For instance if keyspace events notification is enabled, and a client +# performs a DEL operation on key "foo" stored in the Database 0, two +# messages will be published via Pub/Sub: +# +# PUBLISH __keyspace@0__:foo del +# PUBLISH __keyevent@0__:del foo +# +# It is possible to select the events that Redis will notify among a set +# of classes. Every class is identified by a single character: +# +# K Keyspace events, published with __keyspace@__ prefix. +# E Keyevent events, published with __keyevent@__ prefix. +# g Generic commands (non-type specific) like DEL, EXPIRE, RENAME, ... +# $ String commands +# l List commands +# s Set commands +# h Hash commands +# z Sorted set commands +# x Expired events (events generated every time a key expires) +# e Evicted events (events generated when a key is evicted for maxmemory) +# t Stream commands +# d Module key type events +# m Key-miss events (Note: It is not included in the 'A' class) +# A Alias for g$lshzxetd, so that the "AKE" string means all the events +# (Except key-miss events which are excluded from 'A' due to their +# unique nature). +# +# The "notify-keyspace-events" takes as argument a string that is composed +# of zero or multiple characters. The empty string means that notifications +# are disabled. +# +# Example: to enable list and generic events, from the point of view of the +# event name, use: +# +# notify-keyspace-events Elg +# +# Example 2: to get the stream of the expired keys subscribing to channel +# name __keyevent@0__:expired use: +# +# notify-keyspace-events Ex +# +# By default all notifications are disabled because most users don't need +# this feature and the feature has some overhead. Note that if you don't +# specify at least one of K or E, no events will be delivered. +notify-keyspace-events "" + +############################### GOPHER SERVER ################################# + +# Redis contains an implementation of the Gopher protocol, as specified in +# the RFC 1436 (https://www.ietf.org/rfc/rfc1436.txt). +# +# The Gopher protocol was very popular in the late '90s. It is an alternative +# to the web, and the implementation both server and client side is so simple +# that the Redis server has just 100 lines of code in order to implement this +# support. +# +# What do you do with Gopher nowadays? Well Gopher never *really* died, and +# lately there is a movement in order for the Gopher more hierarchical content +# composed of just plain text documents to be resurrected. Some want a simpler +# internet, others believe that the mainstream internet became too much +# controlled, and it's cool to create an alternative space for people that +# want a bit of fresh air. +# +# Anyway for the 10nth birthday of the Redis, we gave it the Gopher protocol +# as a gift. +# +# --- HOW IT WORKS? --- +# +# The Redis Gopher support uses the inline protocol of Redis, and specifically +# two kind of inline requests that were anyway illegal: an empty request +# or any request that starts with "/" (there are no Redis commands starting +# with such a slash). Normal RESP2/RESP3 requests are completely out of the +# path of the Gopher protocol implementation and are served as usual as well. +# +# If you open a connection to Redis when Gopher is enabled and send it +# a string like "/foo", if there is a key named "/foo" it is served via the +# Gopher protocol. +# +# In order to create a real Gopher "hole" (the name of a Gopher site in Gopher +# talking), you likely need a script like the following: +# +# https://github.com/antirez/gopher2redis +# +# --- SECURITY WARNING --- +# +# If you plan to put Redis on the internet in a publicly accessible address +# to server Gopher pages MAKE SURE TO SET A PASSWORD to the instance. +# Once a password is set: +# +# 1. The Gopher server (when enabled, not by default) will still serve +# content via Gopher. +# 2. However other commands cannot be called before the client will +# authenticate. +# +# So use the 'requirepass' option to protect your instance. +# +# Note that Gopher is not currently supported when 'io-threads-do-reads' +# is enabled. +# +# To enable Gopher support, uncomment the following line and set the option +# from no (the default) to yes. +# +# gopher-enabled no + +############################### ADVANCED CONFIG ############################### + +# Hashes are encoded using a memory efficient data structure when they have a +# small number of entries, and the biggest entry does not exceed a given +# threshold. These thresholds can be configured using the following directives. +hash-max-ziplist-entries 512 +hash-max-ziplist-value 64 + +# Lists are also encoded in a special way to save a lot of space. +# The number of entries allowed per internal list node can be specified +# as a fixed maximum size or a maximum number of elements. +# For a fixed maximum size, use -5 through -1, meaning: +# -5: max size: 64 Kb <-- not recommended for normal workloads +# -4: max size: 32 Kb <-- not recommended +# -3: max size: 16 Kb <-- probably not recommended +# -2: max size: 8 Kb <-- good +# -1: max size: 4 Kb <-- good +# Positive numbers mean store up to _exactly_ that number of elements +# per list node. +# The highest performing option is usually -2 (8 Kb size) or -1 (4 Kb size), +# but if your use case is unique, adjust the settings as necessary. +list-max-ziplist-size -2 + +# Lists may also be compressed. +# Compress depth is the number of quicklist ziplist nodes from *each* side of +# the list to *exclude* from compression. The head and tail of the list +# are always uncompressed for fast push/pop operations. Settings are: +# 0: disable all list compression +# 1: depth 1 means "don't start compressing until after 1 node into the list, +# going from either the head or tail" +# So: [head]->node->node->...->node->[tail] +# [head], [tail] will always be uncompressed; inner nodes will compress. +# 2: [head]->[next]->node->node->...->node->[prev]->[tail] +# 2 here means: don't compress head or head->next or tail->prev or tail, +# but compress all nodes between them. +# 3: [head]->[next]->[next]->node->node->...->node->[prev]->[prev]->[tail] +# etc. +list-compress-depth 0 + +# Sets have a special encoding in just one case: when a set is composed +# of just strings that happen to be integers in radix 10 in the range +# of 64 bit signed integers. +# The following configuration setting sets the limit in the size of the +# set in order to use this special memory saving encoding. +set-max-intset-entries 512 + +# Similarly to hashes and lists, sorted sets are also specially encoded in +# order to save a lot of space. This encoding is only used when the length and +# elements of a sorted set are below the following limits: +zset-max-ziplist-entries 128 +zset-max-ziplist-value 64 + +# HyperLogLog sparse representation bytes limit. The limit includes the +# 16 bytes header. When an HyperLogLog using the sparse representation crosses +# this limit, it is converted into the dense representation. +# +# A value greater than 16000 is totally useless, since at that point the +# dense representation is more memory efficient. +# +# The suggested value is ~ 3000 in order to have the benefits of +# the space efficient encoding without slowing down too much PFADD, +# which is O(N) with the sparse encoding. The value can be raised to +# ~ 10000 when CPU is not a concern, but space is, and the data set is +# composed of many HyperLogLogs with cardinality in the 0 - 15000 range. +hll-sparse-max-bytes 3000 + +# Streams macro node max size / items. The stream data structure is a radix +# tree of big nodes that encode multiple items inside. Using this configuration +# it is possible to configure how big a single node can be in bytes, and the +# maximum number of items it may contain before switching to a new node when +# appending new stream entries. If any of the following settings are set to +# zero, the limit is ignored, so for instance it is possible to set just a +# max entries limit by setting max-bytes to 0 and max-entries to the desired +# value. +stream-node-max-bytes 4096 +stream-node-max-entries 100 + +# Active rehashing uses 1 millisecond every 100 milliseconds of CPU time in +# order to help rehashing the main Redis hash table (the one mapping top-level +# keys to values). The hash table implementation Redis uses (see dict.c) +# performs a lazy rehashing: the more operation you run into a hash table +# that is rehashing, the more rehashing "steps" are performed, so if the +# server is idle the rehashing is never complete and some more memory is used +# by the hash table. +# +# The default is to use this millisecond 10 times every second in order to +# actively rehash the main dictionaries, freeing memory when possible. +# +# If unsure: +# use "activerehashing no" if you have hard latency requirements and it is +# not a good thing in your environment that Redis can reply from time to time +# to queries with 2 milliseconds delay. +# +# use "activerehashing yes" if you don't have such hard requirements but +# want to free memory asap when possible. +activerehashing yes + +# The client output buffer limits can be used to force disconnection of clients +# that are not reading data from the server fast enough for some reason (a +# common reason is that a Pub/Sub client can't consume messages as fast as the +# publisher can produce them). +# +# The limit can be set differently for the three different classes of clients: +# +# normal -> normal clients including MONITOR clients +# replica -> replica clients +# pubsub -> clients subscribed to at least one pubsub channel or pattern +# +# The syntax of every client-output-buffer-limit directive is the following: +# +# client-output-buffer-limit +# +# A client is immediately disconnected once the hard limit is reached, or if +# the soft limit is reached and remains reached for the specified number of +# seconds (continuously). +# So for instance if the hard limit is 32 megabytes and the soft limit is +# 16 megabytes / 10 seconds, the client will get disconnected immediately +# if the size of the output buffers reach 32 megabytes, but will also get +# disconnected if the client reaches 16 megabytes and continuously overcomes +# the limit for 10 seconds. +# +# By default normal clients are not limited because they don't receive data +# without asking (in a push way), but just after a request, so only +# asynchronous clients may create a scenario where data is requested faster +# than it can read. +# +# Instead there is a default limit for pubsub and replica clients, since +# subscribers and replicas receive data in a push fashion. +# +# Both the hard or the soft limit can be disabled by setting them to zero. +client-output-buffer-limit normal 0 0 0 +client-output-buffer-limit replica 256mb 64mb 60 +client-output-buffer-limit pubsub 32mb 8mb 60 + +# Client query buffers accumulate new commands. They are limited to a fixed +# amount by default in order to avoid that a protocol desynchronization (for +# instance due to a bug in the client) will lead to unbound memory usage in +# the query buffer. However you can configure it here if you have very special +# needs, such us huge multi/exec requests or alike. +# +# client-query-buffer-limit 1gb + +# In the Redis protocol, bulk requests, that are, elements representing single +# strings, are normally limited to 512 mb. However you can change this limit +# here, but must be 1mb or greater +# +# proto-max-bulk-len 512mb + +# Redis calls an internal function to perform many background tasks, like +# closing connections of clients in timeout, purging expired keys that are +# never requested, and so forth. +# +# Not all tasks are performed with the same frequency, but Redis checks for +# tasks to perform according to the specified "hz" value. +# +# By default "hz" is set to 10. Raising the value will use more CPU when +# Redis is idle, but at the same time will make Redis more responsive when +# there are many keys expiring at the same time, and timeouts may be +# handled with more precision. +# +# The range is between 1 and 500, however a value over 100 is usually not +# a good idea. Most users should use the default of 10 and raise this up to +# 100 only in environments where very low latency is required. +hz 10 + +# Normally it is useful to have an HZ value which is proportional to the +# number of clients connected. This is useful in order, for instance, to +# avoid too many clients are processed for each background task invocation +# in order to avoid latency spikes. +# +# Since the default HZ value by default is conservatively set to 10, Redis +# offers, and enables by default, the ability to use an adaptive HZ value +# which will temporarily raise when there are many connected clients. +# +# When dynamic HZ is enabled, the actual configured HZ will be used +# as a baseline, but multiples of the configured HZ value will be actually +# used as needed once more clients are connected. In this way an idle +# instance will use very little CPU time while a busy instance will be +# more responsive. +dynamic-hz yes + +# When a child rewrites the AOF file, if the following option is enabled +# the file will be fsync-ed every 32 MB of data generated. This is useful +# in order to commit the file to the disk more incrementally and avoid +# big latency spikes. +aof-rewrite-incremental-fsync yes + +# When redis saves RDB file, if the following option is enabled +# the file will be fsync-ed every 32 MB of data generated. This is useful +# in order to commit the file to the disk more incrementally and avoid +# big latency spikes. +rdb-save-incremental-fsync yes + +# Redis LFU eviction (see maxmemory setting) can be tuned. However it is a good +# idea to start with the default settings and only change them after investigating +# how to improve the performances and how the keys LFU change over time, which +# is possible to inspect via the OBJECT FREQ command. +# +# There are two tunable parameters in the Redis LFU implementation: the +# counter logarithm factor and the counter decay time. It is important to +# understand what the two parameters mean before changing them. +# +# The LFU counter is just 8 bits per key, it's maximum value is 255, so Redis +# uses a probabilistic increment with logarithmic behavior. Given the value +# of the old counter, when a key is accessed, the counter is incremented in +# this way: +# +# 1. A random number R between 0 and 1 is extracted. +# 2. A probability P is calculated as 1/(old_value*lfu_log_factor+1). +# 3. The counter is incremented only if R < P. +# +# The default lfu-log-factor is 10. This is a table of how the frequency +# counter changes with a different number of accesses with different +# logarithmic factors: +# +# +--------+------------+------------+------------+------------+------------+ +# | factor | 100 hits | 1000 hits | 100K hits | 1M hits | 10M hits | +# +--------+------------+------------+------------+------------+------------+ +# | 0 | 104 | 255 | 255 | 255 | 255 | +# +--------+------------+------------+------------+------------+------------+ +# | 1 | 18 | 49 | 255 | 255 | 255 | +# +--------+------------+------------+------------+------------+------------+ +# | 10 | 10 | 18 | 142 | 255 | 255 | +# +--------+------------+------------+------------+------------+------------+ +# | 100 | 8 | 11 | 49 | 143 | 255 | +# +--------+------------+------------+------------+------------+------------+ +# +# NOTE: The above table was obtained by running the following commands: +# +# redis-benchmark -n 1000000 incr foo +# redis-cli object freq foo +# +# NOTE 2: The counter initial value is 5 in order to give new objects a chance +# to accumulate hits. +# +# The counter decay time is the time, in minutes, that must elapse in order +# for the key counter to be divided by two (or decremented if it has a value +# less <= 10). +# +# The default value for the lfu-decay-time is 1. A special value of 0 means to +# decay the counter every time it happens to be scanned. +# +# lfu-log-factor 10 +# lfu-decay-time 1 + +########################### ACTIVE DEFRAGMENTATION ####################### +# +# What is active defragmentation? +# ------------------------------- +# +# Active (online) defragmentation allows a Redis server to compact the +# spaces left between small allocations and deallocations of data in memory, +# thus allowing to reclaim back memory. +# +# Fragmentation is a natural process that happens with every allocator (but +# less so with Jemalloc, fortunately) and certain workloads. Normally a server +# restart is needed in order to lower the fragmentation, or at least to flush +# away all the data and create it again. However thanks to this feature +# implemented by Oran Agra for Redis 4.0 this process can happen at runtime +# in a "hot" way, while the server is running. +# +# Basically when the fragmentation is over a certain level (see the +# configuration options below) Redis will start to create new copies of the +# values in contiguous memory regions by exploiting certain specific Jemalloc +# features (in order to understand if an allocation is causing fragmentation +# and to allocate it in a better place), and at the same time, will release the +# old copies of the data. This process, repeated incrementally for all the keys +# will cause the fragmentation to drop back to normal values. +# +# Important things to understand: +# +# 1. This feature is disabled by default, and only works if you compiled Redis +# to use the copy of Jemalloc we ship with the source code of Redis. +# This is the default with Linux builds. +# +# 2. You never need to enable this feature if you don't have fragmentation +# issues. +# +# 3. Once you experience fragmentation, you can enable this feature when +# needed with the command "CONFIG SET activedefrag yes". +# +# The configuration parameters are able to fine tune the behavior of the +# defragmentation process. If you are not sure about what they mean it is +# a good idea to leave the defaults untouched. + +# Enabled active defragmentation +# activedefrag no + +# Minimum amount of fragmentation waste to start active defrag +# active-defrag-ignore-bytes 100mb + +# Minimum percentage of fragmentation to start active defrag +# active-defrag-threshold-lower 10 + +# Maximum percentage of fragmentation at which we use maximum effort +# active-defrag-threshold-upper 100 + +# Minimal effort for defrag in CPU percentage, to be used when the lower +# threshold is reached +# active-defrag-cycle-min 1 + +# Maximal effort for defrag in CPU percentage, to be used when the upper +# threshold is reached +# active-defrag-cycle-max 25 + +# Maximum number of set/hash/zset/list fields that will be processed from +# the main dictionary scan +# active-defrag-max-scan-fields 1000 + +# Jemalloc background thread for purging will be enabled by default +jemalloc-bg-thread yes + +# It is possible to pin different threads and processes of Redis to specific +# CPUs in your system, in order to maximize the performances of the server. +# This is useful both in order to pin different Redis threads in different +# CPUs, but also in order to make sure that multiple Redis instances running +# in the same host will be pinned to different CPUs. +# +# Normally you can do this using the "taskset" command, however it is also +# possible to this via Redis configuration directly, both in Linux and FreeBSD. +# +# You can pin the server/IO threads, bio threads, aof rewrite child process, and +# the bgsave child process. The syntax to specify the cpu list is the same as +# the taskset command: +# +# Set redis server/io threads to cpu affinity 0,2,4,6: +# server_cpulist 0-7:2 +# +# Set bio threads to cpu affinity 1,3: +# bio_cpulist 1,3 +# +# Set aof rewrite child process to cpu affinity 8,9,10,11: +# aof_rewrite_cpulist 8-11 +# +# Set bgsave child process to cpu affinity 1,10,11 +# bgsave_cpulist 1,10-11 + +# In some cases redis will emit warnings and even refuse to start if it detects +# that the system is in bad state, it is possible to suppress these warnings +# by setting the following config which takes a space delimited list of warnings +# to suppress +# +# ignore-warnings ARM64-COW-BUG diff --git a/08cache/ha/week12-01/week12.MD b/08cache/ha/week12-01/week12.MD new file mode 100644 index 00000000..b2328992 --- /dev/null +++ b/08cache/ha/week12-01/week12.MD @@ -0,0 +1,110 @@ + +# 1.ļ¼ˆåæ…åšļ¼‰é…ē½® redis ēš„äø»ä»Žå¤åˆ¶ļ¼Œsentinel é«˜åÆē”Øļ¼ŒCluster 集群。 +## äø»ä»Žå¤åˆ¶ +1. 本地dockerę‹‰åŽ»äŗ†redis镜像 ```docker pull redis``` +2. äø‹č½½redisé…ē½®ę–‡ä»¶ļ¼ˆ http://download.redis.io/redis-stable/redis.confļ¼‰ļ¼Œ + å¹¶ę”¾ē½®åˆ°ęœ¬åœ°ēš„ęŒ‡å®šę–‡ä»¶å¤¹ļ¼Œē”ØäŗŽę˜ å°„ +3. 启动两个redis容器进程 +``` +docker run -idt -v D:\environment\redis\redis1\config\:/usr/local/redis/ -v D:\environment\redis\redis1\data\:/data/ -p 6300:6300 --name redis1 redis /usr/local/redis/redis.conf +docker run -idt -v D:\environment\redis\redis2\config\:/usr/local/redis/ -v D:\environment\redis\redis2\data\:/data/ -p 6301:6301 --name redis2 redis /usr/local/redis/redis.conf +``` +4. åœØē¬¬äŗŒäøŖå®¹å™Øäø­čæ›å…„redis-cliļ¼Œč¾“å…„å‘½ä»¤```slaveof 127.0.0.1 6300``` å¼€åÆäø»ä»Ž +5. 在redis-cliäø­ 输兄info ęŸ„ēœ‹äø»ä»ŽēŠ¶ę€ +``` +Replication +role:slave +master_host:127.0.0.1 +master_port:6300 +master_link_status:down +master_last_io_seconds_ago:-1 +master_sync_in_progress:0 +slave_repl_offset:0 +master_link_down_since_seconds:-1 +slave_priority:100 +slave_read_only:1 +replica_announced:1 +connected_slaves:0 +master_failover_state:no-failover +master_replid:8c4862a6cb6d027473ccadcd61a08f4cc3777e91 +master_replid2:0000000000000000000000000000000000000000 +master_repl_offset:0 +second_repl_offset:-1 +repl_backlog_active:0 +repl_backlog_size:1048576 +repl_backlog_first_byte_offset:0 +repl_backlog_histlen:0 +``` +## sentinel é«˜åÆē”Ø +1. åœØäø»ä»Žēš„åŸŗē”€äøŠļ¼Œåˆ†åˆ«åœØdataē›®å½•äø‹å¢žåŠ sentinel01.config,sentinel02.config +2. åœØå®¹å™Øēš„CLIäø­åˆ†åˆ«ę‰“å¼€redis1 和redis2 监听6300 和6301äø¤äøŖäø»ä»ŽčŠ‚ē‚¹ +``` +redis-server sentinel01.config --sentinel +redis-server sentinel02.config --sentinel +``` + +## Cluster 集群 +1. åˆ é™¤äø»ä»Žå®¹å™Ø +2. äæ®ę”¹é…ē½®ę–‡ä»¶ + 修改bind bind 127.0.0.1 ::1 → bind 0.0.0.0 äøčæ›č”ŒIPē»‘å®š + 修改dir ./ → /data/ åŽŸå…ˆęŒ‡å®šēš„č·Æå¾„äøå­˜åœØ + 修改 cluster-enabled cluster-enabled no → cluster-enabled yes +3. åÆåŠØčæ›ēØ‹ +``` +docker run -idt -v D:\environment\redis\redis1\config\:/usr/local/redis/ -v D:\environment\redis\redis1\data\:/data/ -p 6300:6379 --name redis1 redis /usr/local/redis/redis.conf +docker run -idt -v D:\environment\redis\redis2\config\:/usr/local/redis/ -v D:\environment\redis\redis2\data\:/data/ -p 6301:6379 --name redis2 redis /usr/local/redis/redis.conf +docker run -idt -v D:\environment\redis\redis3\config\:/usr/local/redis/ -v D:\environment\redis\redis3\data\:/data/ -p 6302:6379 --name redis3 redis /usr/local/redis/redis.conf +``` +4. åˆ›å»ŗé›†ē¾¤ +``` +redis-cli --cluster create --cluster-replicas 1 172.17.0.2:6379 172.17.0.3:6379 172.17.0.4:6379 172.17.0.5:6379 172.17.0.6:6379 172.17.0.7:6379 + +>>> Performing hash slots allocation on 6 nodes... +Master[0] -> Slots 0 - 5460 +Master[1] -> Slots 5461 - 10922 +Master[2] -> Slots 10923 - 16383 +Adding replica 172.17.0.6:6379 to 172.17.0.2:6379 +Adding replica 172.17.0.7:6379 to 172.17.0.3:6379 +Adding replica 172.17.0.5:6379 to 172.17.0.4:6379 +M: f79f7780b1fd0805974b072b7fb99297ff75e483 172.17.0.2:6379 + slots:[0-5460] (5461 slots) master +M: e03fc3491b5cae9314aa24c606350373f53cae55 172.17.0.3:6379 + slots:[5461-10922] (5462 slots) master +M: ead40ff8f04be9b0f14978c1dce867cc3fe24248 172.17.0.4:6379 + slots:[10923-16383] (5461 slots) master +S: ead40ff8f04be9b0f14978c1dce867cc3fe24248 172.17.0.5:6379 + replicates ead40ff8f04be9b0f14978c1dce867cc3fe24248 +S: ead40ff8f04be9b0f14978c1dce867cc3fe24248 172.17.0.6:6379 + replicates f79f7780b1fd0805974b072b7fb99297ff75e483 +S: ead40ff8f04be9b0f14978c1dce867cc3fe24248 172.17.0.7:6379 + replicates e03fc3491b5cae9314aa24c606350373f53cae55 +Can I set the above configuration? (type 'yes' to accept): yes +>>> Nodes configuration updated +>>> Assign a different config epoch to each node +>>> Sending CLUSTER MEET messages to join the cluster + +``` +验证: ```cluster info``` +``` +127.0.0.1:6379> cluster info +cluster_state:ok +cluster_slots_assigned:16384 +cluster_slots_ok:16384 +cluster_slots_pfail:0 +cluster_slots_fail:0 +cluster_known_nodes:3 +cluster_size:3 +cluster_current_epoch:6 +cluster_my_epoch:1 +cluster_stats_messages_ping_sent:540 +cluster_stats_messages_pong_sent:525 +cluster_stats_messages_sent:1065 +cluster_stats_messages_ping_received:520 +cluster_stats_messages_pong_received:540 +cluster_stats_messages_meet_received:5 +cluster_stats_messages_received:1065 +``` + +# 6.ļ¼ˆåæ…åšļ¼‰ę­å»ŗ ActiveMQ ęœåŠ”ļ¼ŒåŸŗäŗŽ JMSļ¼Œå†™ä»£ē åˆ†åˆ«å®žēŽ°åÆ¹äŗŽ queue 和 topic ēš„ę¶ˆęÆē”Ÿäŗ§å’Œę¶ˆč“¹ļ¼Œä»£ē ęäŗ¤åˆ° github怂 +å·²ęœ‰demoļ¼Œå¢žåŠ äø€äøŖqueueå¤ē”Øå³åÆ +09mq/activemq-demo/src/main/java/io/kimmking/javacourse/mq/activemq/ActivemqApplication.java diff --git a/09mq/activemq-demo/src/main/java/io/kimmking/javacourse/mq/activemq/ActivemqApplication.java b/09mq/activemq-demo/src/main/java/io/kimmking/javacourse/mq/activemq/ActivemqApplication.java index 834f015f..d2646121 100644 --- a/09mq/activemq-demo/src/main/java/io/kimmking/javacourse/mq/activemq/ActivemqApplication.java +++ b/09mq/activemq-demo/src/main/java/io/kimmking/javacourse/mq/activemq/ActivemqApplication.java @@ -4,10 +4,14 @@ import org.apache.activemq.ActiveMQConnectionFactory; import org.apache.activemq.command.ActiveMQQueue; import org.apache.activemq.command.ActiveMQTopic; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import javax.jms.*; +import javax.jms.Destination; +import javax.jms.Message; +import javax.jms.MessageConsumer; +import javax.jms.MessageListener; +import javax.jms.MessageProducer; +import javax.jms.Session; +import javax.jms.TextMessage; import java.util.concurrent.atomic.AtomicInteger; @@ -17,10 +21,11 @@ public class ActivemqApplication { public static void main(String[] args) { // 定义Destination - Destination destination = new ActiveMQTopic("test.topic"); - // Destination destination = new ActiveMQQueue("test.queue"); + Destination destinationTopic = new ActiveMQTopic("test.topic"); + Destination destinationQueue = new ActiveMQQueue("test.queue"); - testDestination(destination); + testDestination(destinationTopic); + testDestination(destinationQueue); //SpringApplication.run(ActivemqApplication.class, args); } From 130b01078a318a0178deb9eddad4688a6e1c745e Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Wed, 15 Sep 2021 10:53:19 +0800 Subject: [PATCH 39/42] =?UTF-8?q?Week13=20=E4=BD=9C=E4=B8=9A=E9=A2=98?= =?UTF-8?q?=E7=9B=AE=EF=BC=9A=201.=EF=BC=88=E5=BF=85=E5=81=9A=EF=BC=89?= =?UTF-8?q?=E6=90=AD=E5=BB=BA=E4=B8=80=E4=B8=AA=203=20=E8=8A=82=E7=82=B9?= =?UTF-8?q?=20Kafka=20=E9=9B=86=E7=BE=A4=EF=BC=8C=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=92=8C=E6=80=A7=E8=83=BD=EF=BC=9B=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=20spring=20kafka=20=E4=B8=8B=E5=AF=B9=20kafka=20?= =?UTF-8?q?=E9=9B=86=E7=BE=A4=E7=9A=84=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 09mq/kafka-demo/pom.xml | 4 + .../java/io/zengqi/kafka/ConsumerDemo.java | 33 +++++ .../io/zengqi/kafka/KafkaApplication.java | 17 +++ .../java/io/zengqi/kafka/KafkaController.java | 25 ++++ .../java/io/zengqi/kafka/ProducerDemo.java | 48 ++++++ .../src/main/resources/application.yml | 37 +++++ .../src/main/resources/kafka9001.properties | 137 ++++++++++++++++++ .../src/main/resources/kafka9002.properties | 137 ++++++++++++++++++ .../src/main/resources/kafka9003.properties | 136 +++++++++++++++++ 09mq/kafka-demo/week13.md | 72 +++++++++ 10 files changed, 646 insertions(+) create mode 100644 09mq/kafka-demo/src/main/java/io/zengqi/kafka/ConsumerDemo.java create mode 100644 09mq/kafka-demo/src/main/java/io/zengqi/kafka/KafkaApplication.java create mode 100644 09mq/kafka-demo/src/main/java/io/zengqi/kafka/KafkaController.java create mode 100644 09mq/kafka-demo/src/main/java/io/zengqi/kafka/ProducerDemo.java create mode 100644 09mq/kafka-demo/src/main/resources/application.yml create mode 100644 09mq/kafka-demo/src/main/resources/kafka9001.properties create mode 100644 09mq/kafka-demo/src/main/resources/kafka9002.properties create mode 100644 09mq/kafka-demo/src/main/resources/kafka9003.properties create mode 100644 09mq/kafka-demo/week13.md diff --git a/09mq/kafka-demo/pom.xml b/09mq/kafka-demo/pom.xml index 87efa723..7bef10a4 100644 --- a/09mq/kafka-demo/pom.xml +++ b/09mq/kafka-demo/pom.xml @@ -58,6 +58,10 @@ spring-boot-starter-test test + + org.springframework.kafka + spring-kafka + diff --git a/09mq/kafka-demo/src/main/java/io/zengqi/kafka/ConsumerDemo.java b/09mq/kafka-demo/src/main/java/io/zengqi/kafka/ConsumerDemo.java new file mode 100644 index 00000000..00a87ba0 --- /dev/null +++ b/09mq/kafka-demo/src/main/java/io/zengqi/kafka/ConsumerDemo.java @@ -0,0 +1,33 @@ +package io.zengqi.kafka; + +import lombok.extern.slf4j.Slf4j; +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.springframework.kafka.annotation.KafkaListener; +import org.springframework.kafka.support.Acknowledgment; +import org.springframework.kafka.support.KafkaHeaders; +import org.springframework.messaging.handler.annotation.Header; +import org.springframework.stereotype.Component; + +import java.util.Optional; + +/** + * ConsumerDemo + * + * @author zengqi + * @date 2021/9/15 10:45 + */ + +@Component +@Slf4j +public class ConsumerDemo { + @KafkaListener(topics = ProducerDemo.TOPIC_TEST, groupId = ProducerDemo.TOPIC_GROUP1) + public void onMessage(ConsumerRecord record, Acknowledgment ack, + @Header(KafkaHeaders.RECEIVED_TOPIC) String topic) { + Optional message = Optional.ofNullable(record.value()); + if (message.isPresent()) { + Object msg = message.get(); + log.info("topic_test ę¶ˆč“¹äŗ†ļ¼š Topic:" + topic + ",Message:" + msg); + ack.acknowledge(); + } + } +} \ No newline at end of file diff --git a/09mq/kafka-demo/src/main/java/io/zengqi/kafka/KafkaApplication.java b/09mq/kafka-demo/src/main/java/io/zengqi/kafka/KafkaApplication.java new file mode 100644 index 00000000..6683a299 --- /dev/null +++ b/09mq/kafka-demo/src/main/java/io/zengqi/kafka/KafkaApplication.java @@ -0,0 +1,17 @@ +package io.zengqi.kafka; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * KafkaAplication + * + * @author zengqi + * @date 2021/9/15 10:35 + */ +@SpringBootApplication +public class KafkaApplication { + public static void main(final String[] args) { + SpringApplication.run(KafkaApplication.class, args); + } +} \ No newline at end of file diff --git a/09mq/kafka-demo/src/main/java/io/zengqi/kafka/KafkaController.java b/09mq/kafka-demo/src/main/java/io/zengqi/kafka/KafkaController.java new file mode 100644 index 00000000..cc69c1b8 --- /dev/null +++ b/09mq/kafka-demo/src/main/java/io/zengqi/kafka/KafkaController.java @@ -0,0 +1,25 @@ +package io.zengqi.kafka; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +/** + * KafkaController + * + * @author zengqi + * @date 2021/9/15 10:50 + */ +@RestController +@RequestMapping("kafka") +public class KafkaController { + @Autowired + private ProducerDemo producer; + + @RequestMapping("send") + public String sendMessage(@RequestParam String message) { + producer.send(message); + return "å‘é€ęˆåŠŸ"; + } +} \ No newline at end of file diff --git a/09mq/kafka-demo/src/main/java/io/zengqi/kafka/ProducerDemo.java b/09mq/kafka-demo/src/main/java/io/zengqi/kafka/ProducerDemo.java new file mode 100644 index 00000000..5368e646 --- /dev/null +++ b/09mq/kafka-demo/src/main/java/io/zengqi/kafka/ProducerDemo.java @@ -0,0 +1,48 @@ +package io.zengqi.kafka; + +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.kafka.core.KafkaTemplate; +import org.springframework.kafka.support.SendResult; +import org.springframework.stereotype.Component; +import org.springframework.util.concurrent.ListenableFuture; +import org.springframework.util.concurrent.ListenableFutureCallback; + +/** + * ProducerDemo + * + * @author zengqi + * @date 2021/9/15 10:40 + */ +@Component +@Slf4j +public class ProducerDemo { + @Autowired + private KafkaTemplate kafkaTemplate; + //č‡Ŗå®šä¹‰topic + public static final String TOPIC_TEST = "test32"; + public static final String TOPIC_GROUP1 = "group1"; + public void send(Object obj) { + String obj2String = JSONObject.toJSONString(obj); + log.info("å‡†å¤‡å‘é€ę¶ˆęÆäøŗļ¼š{}", obj2String); + //å‘é€ę¶ˆęÆ + int partitionNum = 0; + int hashCode = obj.hashCode(); + partitionNum = hashCode % 3; + ListenableFuture> future = kafkaTemplate.send(TOPIC_TEST, partitionNum, + String.valueOf(partitionNum), obj); + future.addCallback(new ListenableFutureCallback>() { + @Override + public void onFailure(Throwable throwable) { + //å‘é€å¤±č“„ēš„å¤„ē† + log.info(TOPIC_TEST + " - ē”Ÿäŗ§č€… å‘é€ę¶ˆęÆå¤±č“„ļ¼š" + throwable.getMessage()); + } + @Override + public void onSuccess(SendResult stringObjectSendResult) { + //ęˆåŠŸēš„å¤„ē† + log.info(TOPIC_TEST + " - ē”Ÿäŗ§č€… å‘é€ę¶ˆęÆęˆåŠŸļ¼š" + stringObjectSendResult.toString()); + } + }); + } +} diff --git a/09mq/kafka-demo/src/main/resources/application.yml b/09mq/kafka-demo/src/main/resources/application.yml new file mode 100644 index 00000000..02e8e8e3 --- /dev/null +++ b/09mq/kafka-demo/src/main/resources/application.yml @@ -0,0 +1,37 @@ +spring: + kafka: + bootstrap-servers: localhost:9001,localhost:9002,localhost:9003 + producer: + # å‘ē”Ÿé”™čÆÆåŽļ¼Œę¶ˆęÆé‡å‘ēš„ę¬”ę•°ć€‚ + retries: 0 + #å½“ęœ‰å¤šäøŖę¶ˆęÆéœ€č¦č¢«å‘é€åˆ°åŒäø€äøŖåˆ†åŒŗę—¶ļ¼Œē”Ÿäŗ§č€…ä¼šęŠŠå®ƒä»¬ę”¾åœØåŒäø€äøŖę‰¹ę¬”é‡Œć€‚čÆ„å‚ę•°ęŒ‡å®šäŗ†äø€äøŖę‰¹ę¬”åÆä»„ä½æē”Øēš„å†…å­˜å¤§å°ļ¼ŒęŒ‰ē…§å­—čŠ‚ę•°č®”ē®—ć€‚ + batch-size: 16384 + # č®¾ē½®ē”Ÿäŗ§č€…å†…å­˜ē¼“å†²åŒŗēš„å¤§å°ć€‚ + buffer-memory: 33554432 + # é”®ēš„åŗåˆ—åŒ–ę–¹å¼ + key-serializer: org.apache.kafka.common.serialization.StringSerializer + # å€¼ēš„åŗåˆ—åŒ–ę–¹å¼ + value-serializer: org.apache.kafka.common.serialization.StringSerializer + # acks=0 : ē”Ÿäŗ§č€…åœØęˆåŠŸå†™å…„ę¶ˆęÆä¹‹å‰äøä¼šē­‰å¾…ä»»ä½•ę„č‡ŖęœåŠ”å™Øēš„å“åŗ”ć€‚ + # acks=1 : åŖč¦é›†ē¾¤ēš„é¦–é¢†čŠ‚ē‚¹ę”¶åˆ°ę¶ˆęÆļ¼Œē”Ÿäŗ§č€…å°±ä¼šę”¶åˆ°äø€äøŖę„č‡ŖęœåŠ”å™ØęˆåŠŸå“åŗ”ć€‚ + # acks=all ļ¼šåŖęœ‰å½“ę‰€ęœ‰å‚äøŽå¤åˆ¶ēš„čŠ‚ē‚¹å…ØéƒØę”¶åˆ°ę¶ˆęÆę—¶ļ¼Œē”Ÿäŗ§č€…ę‰ä¼šę”¶åˆ°äø€äøŖę„č‡ŖęœåŠ”å™Øēš„ęˆåŠŸå“åŗ”ć€‚ + acks: 1 + consumer: + # č‡ŖåŠØęäŗ¤ēš„ę—¶é—“é—“éš” 在spring boot 2.X ē‰ˆęœ¬äø­čæ™é‡Œé‡‡ē”Øēš„ę˜Æå€¼ēš„ē±»åž‹äøŗDuration éœ€č¦ē¬¦åˆē‰¹å®šēš„ę ¼å¼ļ¼Œå¦‚1S,1M,2H,5D + auto-commit-interval: 1S + # čÆ„å±žę€§ęŒ‡å®šäŗ†ę¶ˆč“¹č€…åœØčÆ»å–äø€äøŖę²”ęœ‰åē§»é‡ēš„åˆ†åŒŗęˆ–č€…åē§»é‡ę— ę•ˆēš„ęƒ…å†µäø‹čÆ„ä½œä½•å¤„ē†ļ¼š + # latestļ¼ˆé»˜č®¤å€¼ļ¼‰åœØåē§»é‡ę— ę•ˆēš„ęƒ…å†µäø‹ļ¼Œę¶ˆč“¹č€…å°†ä»Žęœ€ę–°ēš„č®°å½•å¼€å§‹čÆ»å–ę•°ę®ļ¼ˆåœØę¶ˆč“¹č€…åÆåŠØä¹‹åŽē”Ÿęˆēš„č®°å½•ļ¼‰ + # earliest ļ¼šåœØåē§»é‡ę— ę•ˆēš„ęƒ…å†µäø‹ļ¼Œę¶ˆč“¹č€…å°†ä»Žčµ·å§‹ä½ē½®čÆ»å–åˆ†åŒŗēš„č®°å½• + auto-offset-reset: earliest + # ę˜Æå¦č‡ŖåŠØęäŗ¤åē§»é‡ļ¼Œé»˜č®¤å€¼ę˜Ætrue,äøŗäŗ†éæå…å‡ŗēŽ°é‡å¤ę•°ę®å’Œę•°ę®äø¢å¤±ļ¼ŒåÆä»„ęŠŠå®ƒč®¾ē½®äøŗfalse,ē„¶åŽę‰‹åŠØęäŗ¤åē§»é‡ + enable-auto-commit: false + # é”®ēš„ååŗåˆ—åŒ–ę–¹å¼ + key-deserializer: org.apache.kafka.common.serialization.StringDeserializer + # å€¼ēš„ååŗåˆ—åŒ–ę–¹å¼ + value-deserializer: org.apache.kafka.common.serialization.StringDeserializer + listener: + # åœØä¾¦å¬å™Øå®¹å™Øäø­čæč”Œēš„ēŗæēØ‹ę•°ć€‚ + concurrency: 5 + #listner蓟蓣ackļ¼ŒęÆč°ƒē”Øäø€ę¬”ļ¼Œå°±ē«‹å³commit + ack-mode: MANUAL_IMMEDIATE + missing-topics-fatal: false \ No newline at end of file diff --git a/09mq/kafka-demo/src/main/resources/kafka9001.properties b/09mq/kafka-demo/src/main/resources/kafka9001.properties new file mode 100644 index 00000000..7b8de2a5 --- /dev/null +++ b/09mq/kafka-demo/src/main/resources/kafka9001.properties @@ -0,0 +1,137 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# see kafka.server.KafkaConfig for additional details and defaults + +############################# Server Basics ############################# + +# The id of the broker. This must be set to a unique integer for each broker. +broker.id=1 +broker.list=localhost:9001,localhost:9002,localhost:9003 + +############################# Socket Server Settings ############################# + +# The address the socket server listens on. It will get the value returned from +# java.net.InetAddress.getCanonicalHostName() if not configured. +# FORMAT: +# listeners = listener_name://host_name:port +# EXAMPLE: +# listeners = PLAINTEXT://your.host.name:9092 +#listeners=PLAINTEXT://:9092 +listeners=PLAINTEXT://localhost:9001 +# Hostname and port the broker will advertise to producers and consumers. If not set, +# it uses the value for "listeners" if configured. Otherwise, it will use the value +# returned from java.net.InetAddress.getCanonicalHostName(). +#advertised.listeners=PLAINTEXT://your.host.name:9092 + +# Maps listener names to security protocols, the default is for them to be the same. See the config documentation for more details +#listener.security.protocol.map=PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL + +# The number of threads that the server uses for receiving requests from the network and sending responses to the network +num.network.threads=3 + +# The number of threads that the server uses for processing requests, which may include disk I/O +num.io.threads=8 + +# The send buffer (SO_SNDBUF) used by the socket server +socket.send.buffer.bytes=102400 + +# The receive buffer (SO_RCVBUF) used by the socket server +socket.receive.buffer.bytes=102400 + +# The maximum size of a request that the socket server will accept (protection against OOM) +socket.request.max.bytes=104857600 + + +############################# Log Basics ############################# + +# A comma separated list of directories under which to store log files +log.dirs=/tmp/kafka-logs1 + +# The default number of log partitions per topic. More partitions allow greater +# parallelism for consumption, but this will also result in more files across +# the brokers. +num.partitions=1 + +# The number of threads per data directory to be used for log recovery at startup and flushing at shutdown. +# This value is recommended to be increased for installations with data dirs located in RAID array. +num.recovery.threads.per.data.dir=1 + +############################# Internal Topic Settings ############################# +# The replication factor for the group metadata internal topics "__consumer_offsets" and "__transaction_state" +# For anything other than development testing, a value greater than 1 is recommended to ensure availability such as 3. +offsets.topic.replication.factor=1 +transaction.state.log.replication.factor=1 +transaction.state.log.min.isr=1 + +############################# Log Flush Policy ############################# + +# Messages are immediately written to the filesystem but by default we only fsync() to sync +# the OS cache lazily. The following configurations control the flush of data to disk. +# There are a few important trade-offs here: +# 1. Durability: Unflushed data may be lost if you are not using replication. +# 2. Latency: Very large flush intervals may lead to latency spikes when the flush does occur as there will be a lot of data to flush. +# 3. Throughput: The flush is generally the most expensive operation, and a small flush interval may lead to excessive seeks. +# The settings below allow one to configure the flush policy to flush data after a period of time or +# every N messages (or both). This can be done globally and overridden on a per-topic basis. + +# The number of messages to accept before forcing a flush of data to disk +#log.flush.interval.messages=10000 + +# The maximum amount of time a message can sit in a log before we force a flush +#log.flush.interval.ms=1000 + +############################# Log Retention Policy ############################# + +# The following configurations control the disposal of log segments. The policy can +# be set to delete segments after a period of time, or after a given size has accumulated. +# A segment will be deleted whenever *either* of these criteria are met. Deletion always happens +# from the end of the log. + +# The minimum age of a log file to be eligible for deletion due to age +log.retention.hours=168 + +# A size-based retention policy for logs. Segments are pruned from the log unless the remaining +# segments drop below log.retention.bytes. Functions independently of log.retention.hours. +#log.retention.bytes=1073741824 + +# The maximum size of a log segment file. When this size is reached a new log segment will be created. +log.segment.bytes=1073741824 + +# The interval at which log segments are checked to see if they can be deleted according +# to the retention policies +log.retention.check.interval.ms=300000 + +############################# Zookeeper ############################# + +# Zookeeper connection string (see zookeeper docs for details). +# This is a comma separated host:port pairs, each corresponding to a zk +# server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002". +# You can also append an optional chroot string to the urls to specify the +# root directory for all kafka znodes. +zookeeper.connect=localhost:2181 + +# Timeout in ms for connecting to zookeeper +zookeeper.connection.timeout.ms=18000 + + +############################# Group Coordinator Settings ############################# + +# The following configuration specifies the time, in milliseconds, that the GroupCoordinator will delay the initial consumer rebalance. +# The rebalance will be further delayed by the value of group.initial.rebalance.delay.ms as new members join the group, up to a maximum of max.poll.interval.ms. +# The default value for this is 3 seconds. +# We override this to 0 here as it makes for a better out-of-the-box experience for development and testing. +# However, in production environments the default value of 3 seconds is more suitable as this will help to avoid unnecessary, and potentially expensive, rebalances during application startup. +group.initial.rebalance.delay.ms=0 diff --git a/09mq/kafka-demo/src/main/resources/kafka9002.properties b/09mq/kafka-demo/src/main/resources/kafka9002.properties new file mode 100644 index 00000000..13af44b8 --- /dev/null +++ b/09mq/kafka-demo/src/main/resources/kafka9002.properties @@ -0,0 +1,137 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# see kafka.server.KafkaConfig for additional details and defaults + +############################# Server Basics ############################# + +# The id of the broker. This must be set to a unique integer for each broker. +broker.id=2 +broker.list=localhost:9001,localhost:9002,localhost:9003 + +############################# Socket Server Settings ############################# + +# The address the socket server listens on. It will get the value returned from +# java.net.InetAddress.getCanonicalHostName() if not configured. +# FORMAT: +# listeners = listener_name://host_name:port +# EXAMPLE: +# listeners = PLAINTEXT://your.host.name:9092 +#listeners=PLAINTEXT://:9092 +listeners=PLAINTEXT://localhost:9002 +# Hostname and port the broker will advertise to producers and consumers. If not set, +# it uses the value for "listeners" if configured. Otherwise, it will use the value +# returned from java.net.InetAddress.getCanonicalHostName(). +#advertised.listeners=PLAINTEXT://your.host.name:9092 + +# Maps listener names to security protocols, the default is for them to be the same. See the config documentation for more details +#listener.security.protocol.map=PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL + +# The number of threads that the server uses for receiving requests from the network and sending responses to the network +num.network.threads=3 + +# The number of threads that the server uses for processing requests, which may include disk I/O +num.io.threads=8 + +# The send buffer (SO_SNDBUF) used by the socket server +socket.send.buffer.bytes=102400 + +# The receive buffer (SO_RCVBUF) used by the socket server +socket.receive.buffer.bytes=102400 + +# The maximum size of a request that the socket server will accept (protection against OOM) +socket.request.max.bytes=104857600 + + +############################# Log Basics ############################# + +# A comma separated list of directories under which to store log files +log.dirs=/tmp/kafka-logs2 + +# The default number of log partitions per topic. More partitions allow greater +# parallelism for consumption, but this will also result in more files across +# the brokers. +num.partitions=1 + +# The number of threads per data directory to be used for log recovery at startup and flushing at shutdown. +# This value is recommended to be increased for installations with data dirs located in RAID array. +num.recovery.threads.per.data.dir=1 + +############################# Internal Topic Settings ############################# +# The replication factor for the group metadata internal topics "__consumer_offsets" and "__transaction_state" +# For anything other than development testing, a value greater than 1 is recommended to ensure availability such as 3. +offsets.topic.replication.factor=1 +transaction.state.log.replication.factor=1 +transaction.state.log.min.isr=1 + +############################# Log Flush Policy ############################# + +# Messages are immediately written to the filesystem but by default we only fsync() to sync +# the OS cache lazily. The following configurations control the flush of data to disk. +# There are a few important trade-offs here: +# 1. Durability: Unflushed data may be lost if you are not using replication. +# 2. Latency: Very large flush intervals may lead to latency spikes when the flush does occur as there will be a lot of data to flush. +# 3. Throughput: The flush is generally the most expensive operation, and a small flush interval may lead to excessive seeks. +# The settings below allow one to configure the flush policy to flush data after a period of time or +# every N messages (or both). This can be done globally and overridden on a per-topic basis. + +# The number of messages to accept before forcing a flush of data to disk +#log.flush.interval.messages=10000 + +# The maximum amount of time a message can sit in a log before we force a flush +#log.flush.interval.ms=1000 + +############################# Log Retention Policy ############################# + +# The following configurations control the disposal of log segments. The policy can +# be set to delete segments after a period of time, or after a given size has accumulated. +# A segment will be deleted whenever *either* of these criteria are met. Deletion always happens +# from the end of the log. + +# The minimum age of a log file to be eligible for deletion due to age +log.retention.hours=168 + +# A size-based retention policy for logs. Segments are pruned from the log unless the remaining +# segments drop below log.retention.bytes. Functions independently of log.retention.hours. +#log.retention.bytes=1073741824 + +# The maximum size of a log segment file. When this size is reached a new log segment will be created. +log.segment.bytes=1073741824 + +# The interval at which log segments are checked to see if they can be deleted according +# to the retention policies +log.retention.check.interval.ms=300000 + +############################# Zookeeper ############################# + +# Zookeeper connection string (see zookeeper docs for details). +# This is a comma separated host:port pairs, each corresponding to a zk +# server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002". +# You can also append an optional chroot string to the urls to specify the +# root directory for all kafka znodes. +zookeeper.connect=localhost:2181 + +# Timeout in ms for connecting to zookeeper +zookeeper.connection.timeout.ms=18000 + + +############################# Group Coordinator Settings ############################# + +# The following configuration specifies the time, in milliseconds, that the GroupCoordinator will delay the initial consumer rebalance. +# The rebalance will be further delayed by the value of group.initial.rebalance.delay.ms as new members join the group, up to a maximum of max.poll.interval.ms. +# The default value for this is 3 seconds. +# We override this to 0 here as it makes for a better out-of-the-box experience for development and testing. +# However, in production environments the default value of 3 seconds is more suitable as this will help to avoid unnecessary, and potentially expensive, rebalances during application startup. +group.initial.rebalance.delay.ms=0 diff --git a/09mq/kafka-demo/src/main/resources/kafka9003.properties b/09mq/kafka-demo/src/main/resources/kafka9003.properties new file mode 100644 index 00000000..f32197c0 --- /dev/null +++ b/09mq/kafka-demo/src/main/resources/kafka9003.properties @@ -0,0 +1,136 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# see kafka.server.KafkaConfig for additional details and defaults + +############################# Server Basics ############################# + +# The id of the broker. This must be set to a unique integer for each broker. +broker.id=3 +broker.list=localhost:9001,localhost:9002,localhost:9003 +############################# Socket Server Settings ############################# + +# The address the socket server listens on. It will get the value returned from +# java.net.InetAddress.getCanonicalHostName() if not configured. +# FORMAT: +# listeners = listener_name://host_name:port +# EXAMPLE: +# listeners = PLAINTEXT://your.host.name:9092 +#listeners=PLAINTEXT://:9092 +listeners=PLAINTEXT://localhost:9003 +# Hostname and port the broker will advertise to producers and consumers. If not set, +# it uses the value for "listeners" if configured. Otherwise, it will use the value +# returned from java.net.InetAddress.getCanonicalHostName(). +#advertised.listeners=PLAINTEXT://your.host.name:9092 + +# Maps listener names to security protocols, the default is for them to be the same. See the config documentation for more details +#listener.security.protocol.map=PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL + +# The number of threads that the server uses for receiving requests from the network and sending responses to the network +num.network.threads=3 + +# The number of threads that the server uses for processing requests, which may include disk I/O +num.io.threads=8 + +# The send buffer (SO_SNDBUF) used by the socket server +socket.send.buffer.bytes=102400 + +# The receive buffer (SO_RCVBUF) used by the socket server +socket.receive.buffer.bytes=102400 + +# The maximum size of a request that the socket server will accept (protection against OOM) +socket.request.max.bytes=104857600 + + +############################# Log Basics ############################# + +# A comma separated list of directories under which to store log files +log.dirs=/tmp/kafka-logs3 + +# The default number of log partitions per topic. More partitions allow greater +# parallelism for consumption, but this will also result in more files across +# the brokers. +num.partitions=1 + +# The number of threads per data directory to be used for log recovery at startup and flushing at shutdown. +# This value is recommended to be increased for installations with data dirs located in RAID array. +num.recovery.threads.per.data.dir=1 + +############################# Internal Topic Settings ############################# +# The replication factor for the group metadata internal topics "__consumer_offsets" and "__transaction_state" +# For anything other than development testing, a value greater than 1 is recommended to ensure availability such as 3. +offsets.topic.replication.factor=1 +transaction.state.log.replication.factor=1 +transaction.state.log.min.isr=1 + +############################# Log Flush Policy ############################# + +# Messages are immediately written to the filesystem but by default we only fsync() to sync +# the OS cache lazily. The following configurations control the flush of data to disk. +# There are a few important trade-offs here: +# 1. Durability: Unflushed data may be lost if you are not using replication. +# 2. Latency: Very large flush intervals may lead to latency spikes when the flush does occur as there will be a lot of data to flush. +# 3. Throughput: The flush is generally the most expensive operation, and a small flush interval may lead to excessive seeks. +# The settings below allow one to configure the flush policy to flush data after a period of time or +# every N messages (or both). This can be done globally and overridden on a per-topic basis. + +# The number of messages to accept before forcing a flush of data to disk +#log.flush.interval.messages=10000 + +# The maximum amount of time a message can sit in a log before we force a flush +#log.flush.interval.ms=1000 + +############################# Log Retention Policy ############################# + +# The following configurations control the disposal of log segments. The policy can +# be set to delete segments after a period of time, or after a given size has accumulated. +# A segment will be deleted whenever *either* of these criteria are met. Deletion always happens +# from the end of the log. + +# The minimum age of a log file to be eligible for deletion due to age +log.retention.hours=168 + +# A size-based retention policy for logs. Segments are pruned from the log unless the remaining +# segments drop below log.retention.bytes. Functions independently of log.retention.hours. +#log.retention.bytes=1073741824 + +# The maximum size of a log segment file. When this size is reached a new log segment will be created. +log.segment.bytes=1073741824 + +# The interval at which log segments are checked to see if they can be deleted according +# to the retention policies +log.retention.check.interval.ms=300000 + +############################# Zookeeper ############################# + +# Zookeeper connection string (see zookeeper docs for details). +# This is a comma separated host:port pairs, each corresponding to a zk +# server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002". +# You can also append an optional chroot string to the urls to specify the +# root directory for all kafka znodes. +zookeeper.connect=localhost:2181 + +# Timeout in ms for connecting to zookeeper +zookeeper.connection.timeout.ms=18000 + + +############################# Group Coordinator Settings ############################# + +# The following configuration specifies the time, in milliseconds, that the GroupCoordinator will delay the initial consumer rebalance. +# The rebalance will be further delayed by the value of group.initial.rebalance.delay.ms as new members join the group, up to a maximum of max.poll.interval.ms. +# The default value for this is 3 seconds. +# We override this to 0 here as it makes for a better out-of-the-box experience for development and testing. +# However, in production environments the default value of 3 seconds is more suitable as this will help to avoid unnecessary, and potentially expensive, rebalances during application startup. +group.initial.rebalance.delay.ms=0 diff --git a/09mq/kafka-demo/week13.md b/09mq/kafka-demo/week13.md new file mode 100644 index 00000000..f7f56c87 --- /dev/null +++ b/09mq/kafka-demo/week13.md @@ -0,0 +1,72 @@ +1. å®˜ē½‘äø‹č½½kafka http://kafka.apache.org/downloads + +``` +# äø‹č½½ę–‡ä»¶å¤¹é‡Œę‰“å¼€cmdčæ›č”Œč§£åŽ‹ +tar zxvf kafka_2.13-2.7.0.tgz +``` + +2. 启动zookeeper +``` +D:\environment\kafka_2.13-2.7.0\bin\windows>zookeeper-server-start.bat D:\environment\kafka_2.13-2.7.0\config\zookeeper.properties +``` +2. 复制conf/server.properties三份并修改kafkaé…ē½®å€¼ + +kafka9001.properties: +``` +broker.id=1 +broker.list=localhost:9001,localhost:9002,localhost:9003 +listeners=PLAINTEXT://localhost:9001 +log.dirs=/tmp/kafka-logs1 +``` +kafka9002.properties: +``` +broker.id=2 +broker.list=localhost:9001,localhost:9002,localhost:9003 +listeners=PLAINTEXT://localhost:9002 +log.dirs=/tmp/kafka-logs2 +``` +kafka9003.properties: +``` +broker.id=3 +broker.list=localhost:9001,localhost:9002,localhost:9003 +listeners=PLAINTEXT://localhost:9003 +log.dirs=/tmp/kafka-logs3 +``` + +3. 开三个cmd,åÆåŠØäø‰äøŖčŠ‚ē‚¹ē»„ęˆé›†ē¾¤ļ¼š +``` +D:\environment\kafka_2.13-2.7.0> .\bin\windows\kafka-server-start.bat .\config\kafka9001.properties +D:\environment\kafka_2.13-2.7.0> .\bin\windows\kafka-server-start.bat .\config\kafka9002.properties +D:\environment\kafka_2.13-2.7.0> .\bin\windows\kafka-server-start.bat .\config\kafka9003.properties +``` + +4. 开一个cmd,åˆ›å»ŗtopicļ¼Œå¹¶åÆåŠØē”Ÿäŗ§č€…å®¢ęˆ·ē«Æ +``` +D:\environment\kafka_2.13-2.7.0> .\bin\windows\kafka-topics.bat --zookeeper localhost:2181 --create --topic test32 + --partitions 3 --replication-factor 2 + +D:\environment\kafka_2.13-2.7.0> .\bin\windows\kafka-console-producer.bat --bootstrap-server localhost:9003 --topic test32 +``` + +5. 开一个cmd,åÆåŠØę¶ˆč“¹č€…å®¢ęˆ·ē«Æ +``` +D:\environment\kafka_2.13-2.7.0> .\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9001 --topic +test32 --frombeginning +``` + +6. 开一个cmd,ę€§čƒ½ęµ‹čÆ• +``` +D:\environment\kafka_2.13-2.7.0>bin\windows\kafka-producer-perf-test.bat --topic test32 --num-records 100000 --record-size 1000 --throughput 2000 --producer-props bootstrap.servers=localhost:9002 +10002 records sent, 1995.2 records/sec (1.90 MB/sec), 20.8 ms avg latency, 438.0 ms max latency. +10014 records sent, 2000.8 records/sec (1.91 MB/sec), 12.4 ms avg latency, 234.0 ms max latency. +10040 records sent, 2005.6 records/sec (1.91 MB/sec), 1.6 ms avg latency, 15.0 ms max latency. +10014 records sent, 1997.6 records/sec (1.91 MB/sec), 12.4 ms avg latency, 296.0 ms max latency. +10009 records sent, 2001.8 records/sec (1.91 MB/sec), 4.0 ms avg latency, 59.0 ms max latency. +10003 records sent, 1999.4 records/sec (1.91 MB/sec), 2.2 ms avg latency, 42.0 ms max latency. +10009 records sent, 2001.4 records/sec (1.91 MB/sec), 10.7 ms avg latency, 123.0 ms max latency. +10032 records sent, 2003.2 records/sec (1.91 MB/sec), 1.2 ms avg latency, 14.0 ms max latency. +10011 records sent, 2000.6 records/sec (1.91 MB/sec), 3.0 ms avg latency, 77.0 ms max latency. +100000 records sent, 1999.160353 records/sec (1.91 MB/sec), 7.27 ms avg latency, 438.00 ms max latency, 1 ms 50th, 30 ms 95th, 138 ms 99th, 234 ms 99.9th. +``` + +7. é€ščæ‡/kafka-demo/../KafkaApplication å®žēŽ°spring对kafkaēš„ę“ä½œ \ No newline at end of file From d2b5e4fa20a6394774db12c0ac3072b633ff4fc0 Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Wed, 15 Sep 2021 11:26:23 +0800 Subject: [PATCH 40/42] =?UTF-8?q?Week13=20=E4=BD=9C=E4=B8=9A=E9=A2=98?= =?UTF-8?q?=E7=9B=AE=EF=BC=9A=206.=EF=BC=88=E5=BF=85=E5=81=9A=EF=BC=89?= =?UTF-8?q?=E6=80=9D=E8=80=83=E5=92=8C=E8=AE=BE=E8=AE=A1=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=20MQ=20=E7=AC=AC=E4=BA=8C=E4=B8=AA=E7=89=88=E6=9C=AC?= =?UTF-8?q?=EF=BC=9A=20=E6=96=B0=E5=A2=9E=E4=B8=80=E4=B8=AAMessageQuene?= =?UTF-8?q?=E6=9B=BF=E6=8D=A2=E5=8E=9F=E6=9C=89=E7=9A=84blockingqueue=20?= =?UTF-8?q?=E4=BD=BF=E7=94=A8offset=E5=92=8CcomsumerOffsetRecord=E5=88=86?= =?UTF-8?q?=E5=88=AB=E6=9D=A5=E8=AE=B0=E5=BD=95=E7=94=9F=E4=BA=A7=E8=80=85?= =?UTF-8?q?=E5=92=8C=E6=B6=88=E8=B4=B9=E8=80=85=E7=9A=84offset=20=E5=B9=B6?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E4=BA=86=E7=A1=AE=E8=AE=A4=E6=B6=88=E8=B4=B9?= =?UTF-8?q?commit=E5=8A=9F=E8=83=BD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/kimmking/kmq/KmqApplication.java | 29 ++++++++++ .../main/java/io/kimmking/kmq/core/Kmq.java | 42 ++++++++------- .../io/kimmking/kmq/core/KmqConsumer.java | 16 ++++-- .../io/kimmking/kmq/core/KmqProducer.java | 10 ++-- .../io/kimmking/kmq/core/MessageQueue.java | 29 ++++++++++ .../java/io/kimmking/kmq/demo/KmqDemo.java | 53 ------------------- .../main/java/io/kimmking/kmq/demo/Order.java | 17 ------ 7 files changed, 99 insertions(+), 97 deletions(-) create mode 100644 09mq/kmq-core/src/main/java/io/kimmking/kmq/core/MessageQueue.java delete mode 100644 09mq/kmq-core/src/main/java/io/kimmking/kmq/demo/KmqDemo.java delete mode 100644 09mq/kmq-core/src/main/java/io/kimmking/kmq/demo/Order.java diff --git a/09mq/kmq-core/src/main/java/io/kimmking/kmq/KmqApplication.java b/09mq/kmq-core/src/main/java/io/kimmking/kmq/KmqApplication.java index 76c7ed8e..71150ecf 100644 --- a/09mq/kmq-core/src/main/java/io/kimmking/kmq/KmqApplication.java +++ b/09mq/kmq-core/src/main/java/io/kimmking/kmq/KmqApplication.java @@ -1,13 +1,42 @@ package io.kimmking.kmq; +import io.kimmking.kmq.core.KmqBroker; +import io.kimmking.kmq.core.KmqConsumer; +import io.kimmking.kmq.core.KmqMessage; +import io.kimmking.kmq.core.KmqProducer; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import java.util.HashMap; + @SpringBootApplication public class KmqApplication { public static void main(String[] args) { SpringApplication.run(KmqApplication.class, args); + String topic = "kk.test"; + KmqBroker broker = new KmqBroker(); + broker.createTopic(topic); + + KmqProducer producer = broker.createProducer(); + KmqMessage message1 = new KmqMessage<>(new HashMap<>(), "message1"); + KmqMessage message2 = new KmqMessage<>(new HashMap<>(), "message2"); + producer.send(topic, message1); + producer.send(topic, message2); + + KmqConsumer consumer = broker.createConsumer(); + consumer.subscribe(topic); + System.out.println(consumer.readMessage().getBody()); + System.out.println(consumer.readMessage().getBody()); + consumer.commit(); + System.out.println(consumer.readMessage().getBody()); + + KmqConsumer consumer2 = broker.createConsumer(); + consumer2.subscribe(topic); + System.out.println(consumer2.readMessage().getBody()); + System.out.println(consumer2.readMessage().getBody()); + consumer2.commit(); + System.out.println(consumer2.readMessage().getBody()); } } diff --git a/09mq/kmq-core/src/main/java/io/kimmking/kmq/core/Kmq.java b/09mq/kmq-core/src/main/java/io/kimmking/kmq/core/Kmq.java index ebf03192..7dd97d81 100644 --- a/09mq/kmq-core/src/main/java/io/kimmking/kmq/core/Kmq.java +++ b/09mq/kmq-core/src/main/java/io/kimmking/kmq/core/Kmq.java @@ -1,35 +1,39 @@ package io.kimmking.kmq.core; -import lombok.SneakyThrows; - -import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.TimeUnit; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; public final class Kmq { - public Kmq(String topic, int capacity) { - this.topic = topic; - this.capacity = capacity; - this.queue = new LinkedBlockingQueue(capacity); - } private String topic; - private int capacity; + private int offset; + private Map comsumerOffsetRecord; + private MessageQueue messageQueue; - private LinkedBlockingQueue queue; - - public boolean send(KmqMessage message) { - return queue.offer(message); + public Kmq(String topic, int capacity) { + this.topic = topic; + messageQueue = new MessageQueue(capacity); + this.offset = 0; + comsumerOffsetRecord = new ConcurrentHashMap<>(); + } + public void send(KmqMessage mqMessage) { + messageQueue.write(mqMessage, this.offset); + this.offset++; } - public KmqMessage poll() { - return queue.poll(); + public KmqMessage read(String consumerName) { + Integer offset = comsumerOffsetRecord.getOrDefault(consumerName, 0); + if (offset > this.offset) { + throw new RuntimeException("the message offset now is :" + this.offset + ",but you want to read " + offset); + } + return messageQueue.read(offset); } - @SneakyThrows - public KmqMessage poll(long timeout) { - return queue.poll(timeout, TimeUnit.MILLISECONDS); + public void commit(String consumerName) { + comsumerOffsetRecord.putIfAbsent(consumerName, 1); + comsumerOffsetRecord.computeIfPresent(consumerName, (s, v) -> v++); } } diff --git a/09mq/kmq-core/src/main/java/io/kimmking/kmq/core/KmqConsumer.java b/09mq/kmq-core/src/main/java/io/kimmking/kmq/core/KmqConsumer.java index a7dd83ae..454e9f5c 100644 --- a/09mq/kmq-core/src/main/java/io/kimmking/kmq/core/KmqConsumer.java +++ b/09mq/kmq-core/src/main/java/io/kimmking/kmq/core/KmqConsumer.java @@ -1,22 +1,30 @@ package io.kimmking.kmq.core; +import java.util.UUID; + public class KmqConsumer { private final KmqBroker broker; - private Kmq kmq; + private String consumerName; public KmqConsumer(KmqBroker broker) { this.broker = broker; + this.consumerName = UUID.randomUUID().toString(); } public void subscribe(String topic) { this.kmq = this.broker.findKmq(topic); - if (null == kmq) throw new RuntimeException("Topic[" + topic + "] doesn't exist."); + if (null == kmq) { + throw new RuntimeException("Topic[" + topic + "] doesn't exist."); + } } - public KmqMessage poll(long timeout) { - return kmq.poll(timeout); + public KmqMessage readMessage() { + return (KmqMessage) kmq.read(this.consumerName); } + public void commit() { + kmq.commit(this.consumerName); + } } diff --git a/09mq/kmq-core/src/main/java/io/kimmking/kmq/core/KmqProducer.java b/09mq/kmq-core/src/main/java/io/kimmking/kmq/core/KmqProducer.java index 0adadd71..fc44e071 100644 --- a/09mq/kmq-core/src/main/java/io/kimmking/kmq/core/KmqProducer.java +++ b/09mq/kmq-core/src/main/java/io/kimmking/kmq/core/KmqProducer.java @@ -1,6 +1,6 @@ package io.kimmking.kmq.core; -public class KmqProducer { +public class KmqProducer { private KmqBroker broker; @@ -8,9 +8,11 @@ public KmqProducer(KmqBroker broker) { this.broker = broker; } - public boolean send(String topic, KmqMessage message) { + public void send(String topic, KmqMessage message) { Kmq kmq = this.broker.findKmq(topic); - if (null == kmq) throw new RuntimeException("Topic[" + topic + "] doesn't exist."); - return kmq.send(message); + if (null == kmq) { + throw new RuntimeException("Topic[" + topic + "] doesn't exist."); + } + kmq.send(message); } } diff --git a/09mq/kmq-core/src/main/java/io/kimmking/kmq/core/MessageQueue.java b/09mq/kmq-core/src/main/java/io/kimmking/kmq/core/MessageQueue.java new file mode 100644 index 00000000..8f7a4904 --- /dev/null +++ b/09mq/kmq-core/src/main/java/io/kimmking/kmq/core/MessageQueue.java @@ -0,0 +1,29 @@ +package io.kimmking.kmq.core; + +/** + * MessageQueue + * + * @author zengqi + * @date 2021/9/15 11:05 + */ +public class MessageQueue { + + private KmqMessage[] mqMessages; + private int capacity; + + public MessageQueue(int capacity) { + this.capacity = capacity; + this.mqMessages = new KmqMessage[capacity]; + } + + public void write(KmqMessage mqMessage, int offset) { + if (offset == capacity) { + throw new RuntimeException("the queue message is full,can not accept more"); + } + mqMessages[offset] = mqMessage; + } + + public KmqMessage read(int offset) { + return mqMessages[offset]; + } +} diff --git a/09mq/kmq-core/src/main/java/io/kimmking/kmq/demo/KmqDemo.java b/09mq/kmq-core/src/main/java/io/kimmking/kmq/demo/KmqDemo.java deleted file mode 100644 index ad6e2d56..00000000 --- a/09mq/kmq-core/src/main/java/io/kimmking/kmq/demo/KmqDemo.java +++ /dev/null @@ -1,53 +0,0 @@ -package io.kimmking.kmq.demo; - -import io.kimmking.kmq.core.KmqBroker; -import io.kimmking.kmq.core.KmqConsumer; -import io.kimmking.kmq.core.KmqMessage; -import io.kimmking.kmq.core.KmqProducer; - -import lombok.SneakyThrows; - -public class KmqDemo { - - @SneakyThrows - public static void main(String[] args) { - - String topic = "kk.test"; - KmqBroker broker = new KmqBroker(); - broker.createTopic(topic); - - KmqConsumer consumer = broker.createConsumer(); - consumer.subscribe(topic); - final boolean[] flag = new boolean[1]; - flag[0] = true; - new Thread(() -> { - while (flag[0]) { - KmqMessage message = consumer.poll(100); - if(null != message) { - System.out.println(message.getBody()); - } - } - System.out.println("ēØ‹åŗé€€å‡ŗć€‚"); - }).start(); - - KmqProducer producer = broker.createProducer(); - for (int i = 0; i < 1000; i++) { - Order order = new Order(1000L + i, System.currentTimeMillis(), "USD2CNY", 6.51d); - producer.send(topic, new KmqMessage(null, order)); - } - Thread.sleep(500); - System.out.println("ē‚¹å‡»ä»»ä½•é”®ļ¼Œå‘é€äø€ę”ę¶ˆęÆļ¼›ē‚¹å‡»qꈖeļ¼Œé€€å‡ŗēØ‹åŗć€‚"); - while (true) { - char c = (char) System.in.read(); - if(c > 20) { - System.out.println(c); - producer.send(topic, new KmqMessage(null, new Order(100000L + c, System.currentTimeMillis(), "USD2CNY", 6.52d))); - } - - if( c == 'q' || c == 'e') break; - } - - flag[0] = false; - - } -} diff --git a/09mq/kmq-core/src/main/java/io/kimmking/kmq/demo/Order.java b/09mq/kmq-core/src/main/java/io/kimmking/kmq/demo/Order.java deleted file mode 100644 index 2d81ec85..00000000 --- a/09mq/kmq-core/src/main/java/io/kimmking/kmq/demo/Order.java +++ /dev/null @@ -1,17 +0,0 @@ -package io.kimmking.kmq.demo; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@NoArgsConstructor -@AllArgsConstructor -@Data -public class Order { - - private Long id; - private Long ts; - private String symbol; - private Double price; - -} \ No newline at end of file From e64514356e6ad679011f0031c500f78401caab32 Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Fri, 24 Sep 2021 09:23:30 +0800 Subject: [PATCH 41/42] =?UTF-8?q?Week14=20=E7=A7=92=E6=9D=80=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E6=80=9D=E8=80=83=E8=AE=BE=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 14/week14.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 14/week14.md diff --git a/14/week14.md b/14/week14.md new file mode 100644 index 00000000..d91e077f --- /dev/null +++ b/14/week14.md @@ -0,0 +1,16 @@ +# ē§’ę€ē³»ē»Ÿč®¾č®” +## ē³»ē»ŸčƒŒę™Æē›®ēš„ļ¼š +äøšåŠ”éƒØé—Øéœ€č¦åÆ¹ęŸē§å•†å“čæ›č”ŒēŸ­ę—¶é—“å†…ēš„č„é”€ę“»åŠØļ¼Œčæ™äø€ę“»åŠØēš„ē›®ēš„ę˜Æäøŗäŗ†åˆ©ē”Øēƒ­é—Øå•†å“ēš„ä½Žä»·é™é‡é™ę—¶é”€å”®ļ¼Œč®©é”¾å®¢čƒ½åÆ¹čæ™éƒØåˆ†å•†å“čæ›č”ŒęŠ¢č“­ć€‚ + +## åŠŸčƒ½éœ€ę±‚ +1. å•†å®¶čƒ½äøŠęž¶ē§’ę€ēš„å•†å“ēš„ę•°é‡ä»·ę ¼ļ¼Œå¹¶å®šä¹‰ę“»åŠØč§„åˆ™ +2. ē”Øęˆ·čƒ½åœØę»”č¶³ę“»åŠØč§„åˆ™ēš„ę”ä»¶äø‹čæ›č”ŒęŠ¢č“­ + +## éžåŠŸčƒ½ę€§éœ€ę±‚ +1. åŽ‹ęµ‹ē§’ę€å¼ŗåŗ¦ +2. é«˜å¹¶å‘ć€ęµ·é‡ē”Øęˆ·ć€é«˜ę€§čƒ½ć€é«˜åÆē”Ø +## č®¾č®”åŽŸåˆ™ +å‰ē«Æę”ÆęŒHTML5,APP,ē½‘é”µē«Æå¤šē§ęø é“ļ¼Œé€ščæ‡Nginxåå‘ä»£ē†åˆ°åŽē«ÆčÆ·ę±‚čæ›č”Œå¤„ē†ć€‚ +åŽē«Æé‡‡ē”Øåˆ†åøƒå¼éƒØē½²ļ¼ŒåÆ¹åŗ“å­˜ć€ē”Øęˆ·ć€č®¢å•ē­‰ęØ”å—čæ›č”Œę‹†åˆ†ęˆå¤šäøŖå¾®ęœåŠ”å¹¶äø”å¤ščŠ‚ē‚¹éƒØē½² +åÆ¹ē§’ę€äŗ§å“čæ›č”Œredisē¼“å­˜ļ¼Œå¹¶äø”é€ščæ‡åˆ†åøƒå¼é”čæ›č”Œåŗ“å­˜åŠ å‡ć€‚ +ę”ÆęŒęœåŠ”é™ēŗ§ļ¼Œē§’ę€ę—¶ęš‚ę—¶åœę­¢ęŸäŗ›ä¾čµ–ēš„å…¶å®ƒęœåŠ”ļ¼Œęé«˜äø»č¦ē³»ē»Ÿēš„å¤„ē†čƒ½åŠ› \ No newline at end of file From a6c5e6b2c514054a4e3a8044242df7132367e81e Mon Sep 17 00:00:00 2001 From: zengqi826 <719883137@qq.com> Date: Wed, 29 Sep 2021 14:29:51 +0800 Subject: [PATCH 42/42] =?UTF-8?q?Week15=20=E6=80=BB=E7=BB=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 15/15.md | 93 ++++++++++++++++++ ...345\255\230\346\250\241\345\236\213.xmind" | Bin 0 -> 91545 bytes ...4\270\216GC\347\255\226\347\225\245.xmind" | Bin 0 -> 20221 bytes ...347\250\213\346\200\273\347\273\223.xmind" | Bin 0 -> 466574 bytes 15/MQ.png | Bin 0 -> 159121 bytes 15/dubbo.png | Bin 0 -> 15546 bytes 15/mysql.png | Bin 0 -> 246511 bytes 15/netty.png | Bin 0 -> 55075 bytes 15/redis1.png | Bin 0 -> 101111 bytes 15/redis2.png | Bin 0 -> 316086 bytes 15/sharding.png | Bin 0 -> 427317 bytes 15/spring.png | Bin 0 -> 267666 bytes 12 files changed, 93 insertions(+) create mode 100644 15/15.md create mode 100644 "15/JVM\345\206\205\345\255\230\346\250\241\345\236\213.xmind" create mode 100644 "15/JVM\345\267\245\345\205\267\344\270\216GC\347\255\226\347\225\245.xmind" create mode 100644 "15/Java\345\271\266\345\217\221\347\274\226\347\250\213\346\200\273\347\273\223.xmind" create mode 100644 15/MQ.png create mode 100644 15/dubbo.png create mode 100644 15/mysql.png create mode 100644 15/netty.png create mode 100644 15/redis1.png create mode 100644 15/redis2.png create mode 100644 15/sharding.png create mode 100644 15/spring.png diff --git a/15/15.md b/15/15.md new file mode 100644 index 00000000..a7e952b6 --- /dev/null +++ b/15/15.md @@ -0,0 +1,93 @@ +## JVM +ęˆ‘č®¤äøŗJVM是JavaęŠ€ęœÆčƒ½åŠ›čæ›é˜¶ēš„ęœ€é‡č¦ēš„äø€äøŖęØ”å—ļ¼Œå…¶äø­éœ€č¦é‡ē‚¹å­¦ä¹ ļ¼š +1. Javaå†…å­˜ęØ”åž‹ +2. 各类GCē®—ę³•ēš„åŽŸē†å’Œä½æē”Øåœŗę™Æ +3. 使用JVMåøøē”Øå‘½ä»¤åÆ¹ē”Ÿäŗ§é—®é¢˜čæ›č”ŒęŽ’ęŸ„ + +čæ™éƒØåˆ†ēš„å†…å®¹čÆ¾ä»¶äø­ęœ‰ęÆ”č¾ƒå¤šēš„čµ„ę–™å’Œå¾ˆčÆ¦ē»†ēš„č§£čÆ»ļ¼ŒåÆä»„čæ›äø€ę­„åå¤å­¦ä¹ ć€‚ + +åÆ¹åŗ”ę€»ē»“å›¾ļ¼šJVMå†…å­˜ęØ”åž‹.xmind , JVMå·„å…·äøŽGCē­–ē•„.xmind + +ę‹“å±•å­¦ä¹ ļ¼šć€Šę·±å…„ē†č§£Javač™šę‹Ÿęœŗć€‹ +## NIO +NIOčæ™å—åœØä¹‹å‰ēš„å®žé™…å·„ä½œäø­ä½æē”Øäøå¤šļ¼ˆéžäŗ’č”ē½‘é”¹ē›®ē³»ē»Ÿļ¼‰ļ¼Œä½†ę˜ÆåÆ¹äŗŽč‡Ŗå·±č€ŒčØ€ć€‚éœ€č¦čæ›äø€ę­„äŗ†č§£NIOåŽŸē†å’Œå®žé™…åŗ”ē”Øļ¼Œå°¤å…¶ę˜Æå¦‚äø‹å‡ äøŖę–¹é¢ļ¼š +1. IOēš„å‡ äøŖęØ”åž‹ļ¼ŒBIO,NIO,AIOē­‰ēš„åŽŸē†å·®å¼‚äøŽåŗ”ē”Ø +2. Nettyēš„å…„é—ØäøŽå®žč·µļ¼ˆå‚č€ƒå…¬åøē›®å‰ēš„ē½‘å…³ęØ”å—čæ›č”Œå­¦ä¹ äøŽåŗ”ē”Øļ¼‰ + +åÆ¹åŗ”ę€»ē»“å›¾ļ¼šnettyå®˜ē½‘čŽ·å–ēš„å›¾ļ¼šnetty.png + +ę‹“å±•å­¦ä¹ ļ¼šć€ŠNettyå®žęˆ˜ć€‹ +## å¹¶å‘ē¼–ēØ‹ +čæ™äø€ęØ”å—ä¹Ÿę˜ÆJavačæ›é˜¶ēš„é‡č¦éƒØåˆ†ļ¼Œäø»č¦å­¦ä¹ å¦‚äø‹å‡ äøŖę–¹é¢ļ¼š +1. åÆ¹ęœ€ę øåæƒēš„JUCéœ€č¦čæ›äø€ę­„åå¤å­¦ä¹ ļ¼Œäŗ‰å–ęŽŒę”å¤§éƒØåˆ†åøøē”Øēš„åŸŗē”€ēŸ„čÆ† +2. 了解Lock锁和syncronized ēš„åŒŗåˆ«å’Œåŗ”ē”Øļ¼Œäŗ†č§£volatileēš„åŸŗęœ¬ē‰¹ę•ˆäøŽåŗ”ē”Ø +3. åÆ¹ēŗæēØ‹ę± ēš„å„é”¹å‚ę•°é…ē½®äŗ†å¦‚ęŒ‡ęŽŒļ¼ŒåÆ¹äŗŽēŗæēØ‹ę± åøøč§é—®é¢˜čæ›č”Œåæ«é€Ÿå®šä½ + +åÆ¹åŗ”ę€»ē»“å›¾ļ¼šJavaå¹¶å‘ē¼–ēØ‹ę€»ē»“.xmind + +ę‹“å±•å­¦ä¹ ļ¼šć€ŠJavaå¹¶å‘ē¼–ēØ‹å®žęˆ˜ć€‹ļ¼Œå„å¤§ę”†ęž¶ęˆ–å„ē±»SDKäø­ēš„ęŗē äø­é˜ŸJUCēš„ä½æē”Ø +## Spring和ORMē­‰ę”†ęž¶ +čæ™äøŖęØ”å—ę˜Æå®žé™…å·„ä½œäø­ē”Øēš„ęœ€å¤šļ¼Œé‡åˆ°é—®é¢˜ęœ€å¤šēš„éƒØåˆ†ć€‚ēŽ°åœØåÆ¹čæ™å—ēš„ä½æē”ØåŸŗęœ¬äøŠę²”å¤Ŗå¤šé—®é¢˜ļ¼Œé‡ē‚¹ę˜Æå¦‚ä½•ę›“ę·±å…„ēš„äŗ†č§£å„ę”†ęž¶ēš„åŽŸē†å’Œå®žēŽ°ļ¼Œå¦‚ä½•åÆ¹äøåŒę”†ęž¶čæ›č”Œé€‰åž‹ć€‚å› ę­¤åŽē»­éœ€č¦åščæ™ę ·å‡ ä»¶äŗ‹ļ¼š +1. 对Spring态SpringBootēš„ęŗē čæ›č”Œę›“ę·±å…„ēš„å­¦ä¹ ļ¼Œäŗ†č§£Springēš„ę øåæƒčƒ½åŠ› +2. 学习Mybatis态Apolloē­‰å…¶å®ƒåøøē”Øę”†ęž¶ļ¼Œčæ›äø€ę­„åŠ ę·±ęŗē é˜…čÆ»čƒ½åŠ› +3. 对Java8ēš„ę–°ē‰¹ę€§č¦ę•¢äŗŽä½æē”Øļ¼Œē†Ÿčƒ½ē”Ÿå·§ + +åÆ¹åŗ”ę€»ē»“å›¾ļ¼šspring.png + +ę‹“å±•å­¦ä¹ ļ¼šć€Šå°é©¬å“„č®²Springę øåæƒē¼–ēØ‹ę€ęƒ³ć€‹ć€ć€ŠJava8 in Action怋 +## MySQLę•°ę®åŗ“å’ŒSQL +ę•°ę®åŗ“ēš„ä½æē”Øä¹Ÿę˜Æä½œäøŗåŽē«Æå¼€å‘åæ…å¤‡ēš„ęŠ€čƒ½ć€‚ē”±äŗŽä¹‹å‰ēš„å…¬åøåÆ¹oracleä½æē”Øč¾ƒå¤šļ¼ŒåÆ¹äŗŽoracleēš„å„é”¹åŠŸčƒ½å€’ę˜Æęœ‰ęÆ”č¾ƒå¤šēš„ē»éŖŒć€‚ +å¦å¤–č‡Ŗå·±åÆ¹MongoDBä¹Ÿęœ‰ęÆ”č¾ƒå¤šēš„ē»éŖŒļ¼Œä¹Ÿē®—ę˜ÆåÆ¹č‡Ŗå·±NoSQLēš„äø€ē§č”„å……ć€‚ +åÆ¹äŗŽmysqlč€ŒčØ€ļ¼Œéœ€č¦čæ›äø€ę­„å­¦ä¹ čæ™äŗ›ę–¹é¢ļ¼š +1. ē“¢å¼•ēš„åŽŸē† +2. redo和undoę—„åæ— +3. ę•°ę®åŒę­„ +4. SQL优化 + +åÆ¹åŗ”ę€»ē»“å›¾ļ¼šmysql.png + +ę‹“å±•å­¦ä¹ ļ¼šć€ŠMySQLå®žęˆ˜45č®²ć€‹ć€ć€Šę•°ę®åÆ†é›†åž‹åŗ”ā½¤ē³»ē»Ÿč®¾č®”ć€‹ć€ć€Šé«˜ę€§čƒ½MySQL怋 +## åˆ†åŗ“åˆ†č”Ø +čæ™éƒØåˆ†å†…å®¹å¹³ę—¶ä¹Ÿę²”ęœ‰ę€Žä¹ˆē”Øåˆ°ļ¼ŒåŽē»­åÆä»„ę‰¾ęœŗä¼šåœØå®žé™…å·„ä½œäø­ä½æē”Øć€‚ä½†ę˜ÆåŸŗęœ¬ēš„åŽŸē†ę˜Æåæ…é”»č¦äŗ†č§£ēš„ļ¼š +1. ę°“å¹³ę‹†åˆ†å’Œåž‚ē›“ę‹†åˆ† +2. åˆ†åøƒå¼ę•°ę®åŗ“ļ¼ˆå¦‚TiDB\Mongoēš„åŽŸē†ļ¼‰ +3. å­¦ä¹ åˆ†åŗ“åˆ†č”Øäø­é—“ä»¶ļ¼Œå¦‚Sharding-Sphere(å®˜ē½‘) +4. åˆ†åøƒå¼äŗ‹åŠ”å’ŒåŽŸē†ļ¼šBASE,TCC,AT,XAē­‰ + +åÆ¹åŗ”ę€»ē»“å›¾ļ¼šsharding.png + +ę‹“å±•å­¦ä¹ ļ¼ščæ™éƒØåˆ†äø»č¦éœ€č¦åŽ»ē½‘ē»œčŽ·å–čµ„ę–™ļ¼ŒåŽ»å„äøŖå®˜ē½‘å­¦ä¹  +## RPCå’Œå¾®ęœåŠ” +čæ™éƒØåˆ†ę øåæƒåœØäŗŽåÆ¹Dubboēš„å­¦ä¹ ļ¼Œē›®å‰å®žé™…å·„ä½œäø­ä¼šé¢‘ē¹ä½æē”Øļ¼Œčƒ½åå¤åŠ å¼ŗē†č§£ć€‚å¦å¤–ä¹ŸåÆä»„é€ščæ‡åÆ¹dubboēš„å­¦ä¹ åÆ¹NIOčæ›č”ŒåŠ å¼ŗć€‚č€Œå¾®ęœåŠ”éƒØåˆ†äø»č¦åœØäŗŽäø€äŗ›ę¦‚åæµę€§ēš„éœ€č¦ęŽŒę”ļ¼Œä»„åŠę‰¾ęœŗä¼šåÆ¹éƒØåˆ†č€ē³»ē»Ÿčæ›č”Œå¾®ęœåŠ”åŒ–ę”¹é€ ļ¼š +1. dubboēš„ä½æē”ØäøŽå®žēŽ°åŽŸē†ļ¼Œęŗē å­¦ä¹  +2. RPCēš„åŸŗęœ¬åŽŸē†å’Œå¤šē§å®žēŽ°ę–¹å¼ēš„ęÆ”åÆ¹ +3. å¾®ęœåŠ”å„äøŖē»„ä»¶ēš„äŗ†č§£ļ¼ŒåŸŗē”€č®¾ę–½ēš„é€‰åž‹ + +åÆ¹åŗ”ę€»ē»“å›¾ļ¼šdubbo.png + +ę‹“å±•å­¦ä¹ ļ¼šdubboå®˜ē½‘ć€ć€Šå¾®ęœåŠ”č®¾č®”ć€‹ +## åˆ†åøƒå¼ē¼“å­˜ +čæ™éƒØåˆ†äø»č¦éœ€č¦ęŽŒę”Redisļ¼ŒåœØå®žé™…é”¹ē›®äø­åŽ»ä½æē”Øå’Œč§£å†³é—®é¢˜ļ¼Œå¦‚ęžœé¢čÆ•ä¹Ÿéœ€č¦ē‰¹åˆ«å‡†å¤‡ēš„ļ¼Œč‚Æå®šä¼šé—®ēš„ļ¼š +1. redisēš„åŸŗęœ¬ä½æē”Øļ¼ŒäøŽSpringēš„ę•“åˆē­‰ +2. redisåøøč§ēš„é—®é¢˜å’Œč§£å†³ļ¼šé›Ŗå“©ć€å‡»ē©æć€ē©æé€ +3. redisēš„é«˜ę€§čƒ½č®¾č®”å’ŒåŽŸē† + +åÆ¹åŗ”ę€»ē»“å›¾ļ¼šredis1.png态redis2.png + +ę‹“å±•å­¦ä¹ ļ¼šć€ŠRedisę øåæƒęŠ€ęœÆäøŽå®žęˆ˜ć€‹ +## åˆ†åøƒå¼ę¶ˆęÆé˜Ÿåˆ— +čæ™äø€å—å†…å®¹ēš„ä½æē”ØåœØå®žé™…å·„ä½œäø­å·²ē»ęÆ”č¾ƒå¤šäŗ†ļ¼Œéœ€č¦äø»č¦ę¶ˆęÆēš„å¹‚ē­‰é™¤é‡ę–¹ę³•ä»„åŠé«˜åÆē”Øę€§ē­‰é—®é¢˜ēš„č§£å†³ļ¼Œä¹Ÿę˜Æé¢čÆ•åæ…å¤‡ēš„éƒØåˆ†ļ¼š +1. å­¦ä¹ ęÆ”åÆ¹äøåŒMQēš„åŒŗåˆ«å’Œé€‚ē”Øåœŗę™Æļ¼šActiveMQ,RabbitMQ,RocketMQ,Kafkać€‚é‡ē‚¹å…³ę³ØåŽ2äøŖ +2. 了解MQēš„å®žēŽ°åŽŸē†ļ¼ŒåÆ¹é«˜åÆē”Øć€é”ŗåŗć€ę¶ˆęÆé™¤é‡ć€ę¶ˆęÆē§ÆåŽ‹ē­‰é—®é¢˜čƒ½åšå¤„ē† +3. 了解MQēš„å‡ å¤§ä½œē”Øļ¼šå¼‚ę­„ć€č§£č€¦ć€å‰Šå³°ć€åÆé é€šäæ” +4. 了解MQęœŖę„å‘å±•ļ¼šPulsar(č®”ē®—å­˜å‚Øåˆ†ē¦»č®¾č®”) + +åÆ¹åŗ”ę€»ē»“å›¾ļ¼šMQ.png + +ę‹“å±•å­¦ä¹ ļ¼šå¼ŗēƒˆęŽØčć€Šę¶ˆęÆé˜Ÿåˆ—é«˜ę‰‹čÆ¾ć€‹ + +## ę€»ēš„ę„čÆ“ļ¼Œčæ™15å‘Øēš„čÆ¾ēØ‹åÆ¹č‡Ŗå·±č€ŒčØ€ę˜Æäø€ē§ä½“ē³»ēš„č”„å……å’Œę‹“å±•ć€‚å„äøŖęØ”å—ēš„é‡éš¾ē‚¹äøŽäøŖäŗŗäŗ”å¹“å¼€å‘ē»éŖŒčžåˆļ¼Œå½¢ęˆäø€å®šēš„ēŸ„čÆ†ä½“ē³»ć€‚å­¦ä¹ ę²”ęœ‰ē»ˆē‚¹ļ¼ŒåŽē»­ä¼šä¾§é‡é‡Œé¢ēš„äø€äŗ›ę–¹é¢čæ›č”Œę›“ę·±å…„ēš„å­¦ä¹ å’Œę²‰ę·€ć€‚ + +## å¦å¤–ļ¼ščƒ½äŗ§ē”Ÿęˆ–č€…å®žēŽ°äøšåŠ”ä»·å€¼ēš„ę‰ę˜Æęœ‰åˆ©äŗŽäøŖäŗŗå’Œå…¬åøēš„ć€‚ęŠ€ęœÆåŖę˜ÆäøŖäŗŗčƒ½åŠ›ēš„äø€éƒØåˆ†ļ¼Œéœ€ę±‚ēš„ē†č§£äøŽåˆ†ęžļ¼Œå›¢é˜Ÿå¦‚ä½•ē®”ē†åä½œļ¼Œäŗŗå‘˜å¦‚ä½•ę²Ÿé€šē­‰é—®é¢˜ä¹Ÿę˜Æå¾ˆé‡č¦ēš„ć€‚ + +### ęœ€åŽļ¼šę„Ÿč°¢å„ä½č€åøˆēš„ę•™å­¦äøŽč¾…åÆ¼ļ¼Œē„č¶Šę„č¶Šå„½ć€‚ \ No newline at end of file diff --git "a/15/JVM\345\206\205\345\255\230\346\250\241\345\236\213.xmind" "b/15/JVM\345\206\205\345\255\230\346\250\241\345\236\213.xmind" new file mode 100644 index 0000000000000000000000000000000000000000..3069d58b334880044343a6957f051abfe6bd294f GIT binary patch literal 91545 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�`qMtogE!R7D}-*EHDRtIZX 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

    FJhOxKTl;RGr3 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 literal 0 HcmV?d00001 diff --git "a/15/JVM\345\267\245\345\205\267\344\270\216GC\347\255\226\347\225\245.xmind" "b/15/JVM\345\267\245\345\205\267\344\270\216GC\347\255\226\347\225\245.xmind" new file mode 100644 index 0000000000000000000000000000000000000000..b38a6a703990875a724406515fbf7b20215e681b GIT binary patch literal 20221 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 literal 0 HcmV?d00001 diff --git "a/15/Java\345\271\266\345\217\221\347\274\226\347\250\213\346\200\273\347\273\223.xmind" "b/15/Java\345\271\266\345\217\221\347\274\226\347\250\213\346\200\273\347\273\223.xmind" new file mode 100644 index 0000000000000000000000000000000000000000..e87efb959a5e45e24464b71fc3edf35c7b27bbc0 GIT binary patch literal 466574 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
  • 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≻yG#XJjqcUwUzjPhL9V>CQ}WI4fF%1qCv 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⪚{BzN7zgRD1h3)f{uGlk;6YTn?1F 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 iCj5WhCkK}|PS2Kl?E5q~ZzL literal 0 HcmV?d00001 diff --git a/15/dubbo.png b/15/dubbo.png new file mode 100644 index 0000000000000000000000000000000000000000..530fd53ff5db8a763233c354540b6fe87f792699 GIT binary patch literal 15546 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 By6FG_ literal 0 HcmV?d00001 diff --git a/15/mysql.png b/15/mysql.png new file mode 100644 index 0000000000000000000000000000000000000000..bb60a5b7077eaf773f9b7ad328da4ccb56df5eca GIT binary patch literal 246511 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

      +sO*!mXp%9gu#cg}yQpn+hKLxT=zY_iLy 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%0A0Ig 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�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

      8yiZuv%5Y3iK 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∨`DKtI%hnl&*tZ>F>v5R;~U}1bzI;_`9!<2vJlMG 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

    >=8Mk?+VSl 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 z z{kv@nLVxL~@cH-+O8Il`ko~w#=_B~Yw+Muh;fsK(J~cYuE@V88&VO&>XcCp79!p7R z%P^eh#08%Y#cSMUr?5jNAEZEOkZexOVMNE0e&En0d#WhU#2*W111v?|`T?_r%A>N3 z0x$Mw_d$~wy8Qe-mWA!GNc-CEwMGF8eb#bx2o;+oT16HomjElyMR0C8)DUsg7Q9hH z(0kyppmivB1ITK8wptmnBEuumbOMo1um*t75f{%?z4>gswY4i{b9qy;Y}@nQTRBf?7N_$`iVG`sPymfWMOP7+9>+NU~;-hB$9+jfjy4T>!3p zn&hxsUgZR7iGi^QKD#HHA+ivr$JS0&deAC2lUwp783NDFj3%hEtMZJkb zb>F+9Yf)dIiYiPqX>4j-F4b;}XB@TE_79lxpN-w`$jvg-_Xh`ef` zmoll9xp+WM`qyLH+_m_O-<;6_n^zqVqz;Cg%Tp!Lfj*I>Kuq}t%aCyy`gH@t$l#3u zK~SwH(Abri<qSZG?osa0(3K}=^XN@&#)^}#Oyl@wc5l5;DMDxMkJ00J0t0=U*&v351 zX428RG-Eq`L#6a^q(HeiFTfpyBhO2}AU44W zGhfNO#mAetswPk5M|nOIO*s{hYPw5oU3_-tzC>6EshnK$h)Aj8Mx8|Lprp@Vu~9RO zr)SMg)|g5xZk0R;{y+wQlajRE@I*l4>OOS$KClAefZBPE>!&B;myP%zyJ3Nw_WcoR z+%=A;L%xRmEKY~S_K8;s1}!wbpj%p+0?Eyd3V5s-Sk8fU4E=0?THuzyzDLv)mo|;B zf-r(pwFhq&;P|sKwVD2QhISr@11gTH*Ra_G2Gx07odSHxa*KsfyNz_umeJq&NsXHgGW6%&k(O|xd5 z!hNo8cS>AZRZG08TJWHi@{O^!#tw1^E!6)>I99l67+=)Slmh(3(~dp5V8}(yhr9## zO9(%9< zwA86*?)}0C-aMU^egh?TPq>iV3Dvg&B)f#JxqJ++OfyiHvgAri$Rf2w{!>;3 z3tBUdv%w@XUK~*qx8$XZ#=)zL>A*Lfd^hX!Z3&9gpT56`5ffZm9-Ybt!~LQRtwTD7 z_FC_5-#Sghs<`C}OKW(~Ja)fAXhoq)^jk_Fd4%``w6Sn(8pW)j9E95@e+@*6BIc}p z-pgY_@q1lMm-E~jy$`)|P;-1IiRg2fXF^~lIQlY*>1e5rDMYTFb#9wg_vn~^E~igI zAtIcewOSwTs@=W~bAFtWyV3+ibJZPm)t(sFO(w7ypPk+lfQ&N&XXvJTM+-stwMUW1 zqG(0>SX8qB=CN`9V&r_q@d%`L!F#JgpY-0!omH<$I6h4!XtYH&$lz^xLL9S%l-$0- z)$f)SGoO;@Y(D~2R|eYY*%hy>6=;Y5;5;G_9xG4;y}B1cuu@avG_-D7^<~rVo?6*7Az71*DRNL2q&2o)R`1A(v(CyB> zn@vh{U)qEH)Uw$6=w?(uerc*SAl>Qh7;ay`vi_oLZqs7&(Fd!jq*YX^_*ZSM)(KGsag4G#ye&d|QX<4?)q7yVJV zeGR@tyHkXAh6;3OGJa4ZtQUrDR*MupigVr28hFnosICr2S43eD5i}K)dOW@a73-}D z^Weu&;xO!_BtKUh3-5)WNFD-IQoD}fy}nuZoE1{rCIYb$od;yt7>v#M3T=e2_?=Pd zpV%t2xo&-(sw2ua)~-{v1L{_l0^M2&6%P;%osV*@y*jIBP&j!a-8v!=lN9|LbPKob34NSa|%(i@|NW* z&RWO(nrz&B5q*w>0s4KAq0`V-jojr(R^7_E?S{jA(3w|o2QK>@0(GFc=EoF3@U)y0XM@9n%H#|Bp4H>;yU)mH$ehkOIbKPg4pfG|hFT}HTjY_I8JeE%QX z@0MB4zLnH4?6Jaus8<6)x6YgkJ@JREEYs_z)*C6z6a2tjtya;9U+F`w%>NbqQzT!v zYg$4YxclgnJN5nO*DC;T;?~|s8a65D#yMmpnYnH>g*E_A#*rHt|M zIv6HE$zx7M>Yq}Wyqc26oa0j`&BS>ZYx1S}kB_=@jYSgXIgHgfFD`u`9N4KQ_>4*^SjjM(B|j=vE$SOl9y@a>4R#nsy)xzHBgW z03NLujMlT$WzoS$zbV@=2f6jppotSzyCM0gj4L-G%Qu+l1`Y4@3Q4fZyF<%p38-1jCqt7|M>>^7pCjvn+lx{&d5>)nzKP?;4#=0{bPG zJZN$#YxqbNP@!W2+u*c`i($tCg7|_qwx;~mT3~dkg@XrTZQ>2ZUj#)jX3(}_enhMs z(cOY!CU?FEmZj)C4FJ=`CA?gQeWy5PdX$2+C8Z|3k5h+o6SSXMnns{f$3U6Ke63=}VQ2vp&nePt|CJj|m^E+FHpjfsTS3ZJdr!sU=B1WWxF7>zqXl$G0j<=x*KliV~xmkD0t47R^u?yP~@{_>#{ozxB6p$&!*p2a3Q`_^o@i)p-2? zb^~W?vwmLqg%#XJJ2?+Lpb@`T;Out1@5wC#bH1BYf_m1UwOJ2 z8JQb( zIYuI&dZXY&2J>$Z^>0~>a{ovuP$_#A)#F0baD3Lf$=Q0t;#!t*ZmxK-0D&RmSrPQR z`VGV(pB(tW2kgVhi>P-C9gyX%rduj>GAnx= z>BC2Jc*l9Ysw626zNBBr9hebc)re0;)f zT4{V|l9j0Ql0y{xkSjfrq>ES^EC{!-fBH26EWvgx-YJkh6z;z559#?SHb=|z!AnW} zrUtM|SxZZb`KMFAif!2H__g*TxP##ZkWu`yeBg?U{q&Q)%p{Z8#<e7D)_2J3==_Jn+{%9FMHJ{=e~sJ+weGhvjPO#XnFac5Wu-! z7A=Qm0hE)U4il6V9rGE(Ng7)%UD+2sHU{w7Y@ds|IhYMB%5aQYmu~O@cxdKpymWCq$!yK!obVUS+3>QZ(66s3>6{x4+S2h^uB+E@n{h zej?S^&JSBu&qq1Et>84Ila44mRv;y`&iQr<{vs);swgjVwwr#$WEhNaBTb)nNiOLz z)y4cUfx`#OYN$807^OQuoP(RxzPOoJLsS42XfG@#w(whM-4F1#hU7|-h(&t=uc(#i zZn=Qh{R>z^qYA8CcUu94iVh!ua+(3<9xI==$JPhTF26|C{wMKP6ym4m(&y5-VJ1P657S&-^>NOQHhuvejN%ToYeWdl3A(HM!$FI2GtXOYtPaSO& zu&Y1~^F_Q@R*mb?*t@|B>b>R22^Llo1Y2~WeqFYqRj|N$xl8|{=;Z7jk&OH`6at5v zb7LzMyib;5btfBDH$59U{S=`DI{xXVLhQ4NX9doMfQ@mtnCL;Pd5Qf3Jy`yuSRk@C z%rL6`@upn^fpFYm?Ql-;V7fsN%P>iVk)dr`Px)dcQ=A%~U#gC#QP<;yPN`u(Rz)p8)) zgPh1QbA2taAi99Sf*Us!_b*$Kua&&5KNXcV->I8(Q%)QXhBYtd`}@CbJXPCgK;Ax* zrfe$ZViSP!n$@no{ zM*&V0Re%e~I@@?n-8Cw|FBjN)tiCgtwd$L~_lY3_XgWbdEsMHpXUl&Wjzc9X+jl*7 z4c+PjV_MV~NSaLr{eU1ereW$VU1gqCJHdOeSpd}=5K1jx)->17>-<+3U-67naguDg zlsP;U`(xQDfe3&eda>-+nf-sv+0PTf5hA?EVR($Mi&_8&x=??pKSI5C&KSx3E*aFv4p#(4t(D-c|bm_m{kdW?Jlaj=wN z1BitEF@flc|2CN@ss&nmU*JQreo=eHM-Y+mr4=1F*ZC2?s>hK+v!s%BF$W`Q@?c$e zl$T|ZU{{0Ohyhp}D(FKgDa!|2K_!jCDHBBb`T#Hwy80s5>aIbP)M1n2Lz4EXeaCgB z-!--ia^0BBj%(p|Mt1V$udQ&lx^Cn>G6_7y#x-+lx$IGd7=8hjoh#)=ZW8JpXX|!3 zWhse6lrIw{_e5MI!u3XwFe3k-wa(We^4Dj{Wdk?N^Zg7f-^JvF0}?}Av6~F7|BWGe z8!O*_S1cnR7J#8dDngpb1=bn2NjnOjL5uo@E)-j}+@GNOzwoIl_H?EZB&N_UZpfjv zVv%)s1|Rg?po!`Ya)qDtRdd}qY+~4lmg=f^9I^9Uso)Lg*i!JJ`p%GEn9=4OiT?8Bf(aT1Fp{x zb}HEhuLFb{GfGy&F+Wmr-Uj#SzSGTrNZ8L4O=_14sCSj0 zHW`&-=PSLU`aad^Xiv2e5)9ZkQ5z;MrNAVgQ|K4ZIf%K)WcI!o zzBHtOr6Gi4A=}-Rv%&ByQDEZ+Wy+{;o{o>buuH1eQv#XM1eoLJB;sX0`)jqP@@q-$ zA5W^VYh-v7069O+X?vcX_l2muWz2}@VLx)vv*5z@D1f3ogy<@AA}zxJqy+;*-yBGz zAKyyy6CcO9>LPuvjaKS6i_b(iS<(VjV63pq)myFH{nyKS<5rHaF{<_WRVH3sQ~paA z-hg~lv@{sj0*jBE+^dTw;&~R4!!rm49RffNr4w@_ln)_J&`+J{?R*3##IeGdIW+Qa zJBJ3hh0j8W5X_xom4{yA>e}ue(|rkF565P zFbU1LeH1rDbZ&*OwCYAmA{|U6Pd*aODt=FQdDZFyq?UZ-4>O?;wGwxMeviZ*liKy+ z?&$oo$uH(w_cXCL4LJ~fVBK0@u2XYci;Ht9suSjhtl}Cz+E(GdW9KKtHjX}`jvP;op-_w6uXq!OFBQ^EsR@Qpz z*~=_`12DEyv#flDuFT(paixEyhSAOoZ(+B1(w_PXy_+{VM@_8QSbBemTU2XWbNN<~ zRBr}g5sJkBeDzHbaK zdek!H{=_O`HW596!Rx3IOmIt?N$$#nSmOJ$R+Jl7)L^$-RemWX`r?Y9W9W@&?hW`x zyT9lotw2M3%!(YG$l13LRXR@lCU(})ogbx@n^v&etzS?rwc9#Ce=LmY}vdis~ za$_+`HklM_()ig<@JWseF^S=(wG>-Z;etRqY#bsh@sYkbk;g?!P`DXIRMnz5rlVmr zc;zR`mB?iaNi``5TLh!}j!0#%hFUq4vW%tIbyn0qin+jN4<~EJ?lXJ_sc4_(NgelX zhTmmAW(~`E^Z4{wKX!hH+5pEYN%pWsce!!G z;G-`J+14uTz7)%CO{Ufb@<;0n6VAmxzYaEz+vKV19_qFG{3lk@#pa1O5 zdK51>v{klTPB+%naC_-uw?(Vb&!Xg9?<#Z>Cy4P~cIm^$LaV8CT4M&zK zLz^81bDkf)S<=Upp2ZgZ(kP^vVLY=@5Jc&|A;IawgEIr`R$qBMn9V$GyiNakR7O9L zZzmW+!M#=Xkw0n^!9%x?7I+~6?=D}RIZ7AZQyElh%cA0CgFC5@#&=94h~K3OE1(%7*=E7=AQGK z?%Gc~0q^CJ!;ryKJ!tS~M+f#P9s1!`XUvd=r2I6hwoRwNa>%%z;|k-Zfi?2wb5|x- zJBbdQrnvR;45dSt!Cn#AxiajJy5!i!uV8a7wC(mb+u8oNJMVR7be41c-$=AQH*Urh zxxtu2^ej_u$EVsoulS-z$7A!jk>>r*QPh?t)T8QRgD+k_B53+s=^YApf9F@)R)+6W zMx_mKVC{nV!189_dVESxON*YQABO^cC_}`F=4KINa`qg17y(ODwU1M!DW`SSS_Ib& zfoi56yOaq?V;_R*rhEh-{#EP6UVN|1^{dpzwIP&-ebNq$DK)s&0?n%TCx!MH`wPT3 zP%Oww0tXsPPf{N>)nM3$Cr!)VSKmZ2i%uY=3($Uc}r(iX@qg zzB7=Z+=hV0vCcAT|J8AggrBEep81}k2hYw;IMy98Aj)FV`k8z&)=1Ryj8p=@6< zt>037hE>tY4|q2z*K#k6U_){ziUbKsuPumcw?%a2;$%`uh&M6aih2zK6G%qnv8#gl z8ee`Gb%*_}#a~OxswXl4`^daIh{S!4u}#BZ$snEfNYRRHYWR{8yLdKoRW*C8AAlga z3ty;@Ng)OU3m_&Vj&toCb9hgfHALkWqE_UHN$X-?dyvSD!&i~ypJU_>Z&N=K(xVr2 z#T}Msfkmhg$~$#nh7CdCWi9Za$lvYle~Fr-Hw;VFHt>@CHKtlul5fl(BlyL21MZ7j z|2z#==lVPE=N<|D;x_tT?{(LGAM#sjUa#|uPdJpn?h=g8Tsyx>P&+nLRUo<-$A)2V zt5k|lrR}7*g+7-&QN(OcPcBIh9v3WR!@CwB#_FLtR=6K1! z2(0S6Oh=b!Lxn!IEt?9=Q~6CTCpl^^0cvG;S`vnDYoahtaiM`OK2M8UH5n7{cIAGp z6WX<#$AlnA#66PJPD^|Wt{`Lt?;=T~BFa`X zD&YTB_uX+#pWFX{rKmx;N(B{xR;#p?Ar253skKV20<~5_8DS_?$pDcslb|wGgt!$M zX|+m~5h9R;86ZGJ86qMHAqgQ!7+DA;AtA{xv9;g!UfXIf=>7SRFL}lAd7jT1?{m)k zoU?!s5tQaxN)I5nC($dzO}PpQE3CwAJ9zqzV9Gov(9_wm3(n#@;p?A2q(87wu|&g> zF_Ga_9j;JSy=feDlGn)eHM-FW`4wT7be7QdBiE} zvWW}gK|&R?XqvK^ji?Rx8A2l`P8NSJ$(2;mZOR8=feUpp|2o}0r|7$QewaUG6mB^j zquMy_k4w~Z6Rq#x_z0+XGjMlMw_h|a-M(k7Z{5kpEzS-xe(Wnw;KeoXS9h-tcqQ&@ zFd$h>y9ACcYIlNi<@F}^Bg!klZiT|n0tp(6#Fi~;7jQYks0|5Uj|^r(mKmQasuW)r z9cYmIvsvjH?hw0rp!joqyK8(Dia@7PT*V*7%jv9TOi$tMtZ=&Mn#+XfV<&dQO}?Kn zuF|^t$+zMw-J~{GabQ9WSWz<5Q8f)hvvu!9Z2TP zu+gELXnkSfWEmD>3XKw|5F^;lS<>1$_|7&K-mB*MGjWPTl}*Ch+8i0pfOKW*Q3I#YQn|=|U?H1yIC^GBJv|LG_$Eq{?#_h|j@MP7YN{f>VXEvnO*>tU~c z(v`e)#ttS%HJvKDlT3WBZF#oywmSfD$ho7bnN~{4>-jNty4PQM?<(BVL*6R!p04i> zTsT@gM^bWC4fw*-J}jcvc5REfIeK2u039qC7E9LH60GsmV@m5JVGM;{zt=40CZsC0 zJ0B!J;`FR^5C05GNv(>QN%i5Tv?OlK10}-svIHj z;F`kHZ#V6zVW)&uUL4pD@7Ttr!;ptQfw^mGom{x%%PrqUei`E%lc2`&R|-kWIQFRP zlN^1{z%s9!iheE-K=5}FmbcG?eWoI4u)`EaIU!^0m^1}b%%Vp;9$6+~E)p<-5do=K z7(K^Zd(S zf%q)^@?Mp#bEqw9YA3jCqgP31yE4r$Ua=8B9AcW9T+Ve4O%{w{!$8t{Zv9@QDY!V7 zUnyiVB2P-Z$);$DFehbAwJ1cUsk?!()nffLfHbE+I?d=%@Aec3iXN;Q=N!S_%-Fnc znkmwLpZM9&C}{B}``$34+E)dEYOfK~7ackE>?&Q(QfbQ{U#&Ul<%cL^U;HjYU&)k{ z*h&~EO!@>o&7S~tbKpIPNra8v2gu0D{H^35JLB?*bshB?Vu)Yf#!*2rW71cEG&v}1B?m9)hF|WPuQmXmA z{ftpl!X8f87y((Q%S{Q6(51E%p;2?ju8qMOV;P+KAY-T*vOr!*&T9!eK6*lc>)$sR zR)Hn!PZtoM1B9`ux{4ha1%_#@-rrRejDn&WWo*Yf)sk?E86ibCN?F+fqf}soZR#jq zP$@hjiDK!cJxFMqh&~@*T}w>O_am5lwkQnB~vfP+7gti`7-bLSF5Ia}9=>OM5G zWSYpdKp2@nZ&Nz6BT~iFCao%L6u;&{U;Rsn%Wb87U};3oNyu1d3S%10W)EW z$U&MG^=?v1gUMYxh!5rv9N7m=D4Z{eC{V$EI4t^}ICByRVbLcm8Fn$8p>oE&rv>4U z&onNpy7Rn{!2F=-+j{GZ#6^JhqUIyszI72q_eBK1{w3Mqe!LSn;)~NpWJ=}54cVn0 z*PWZ8HP3ECnXQa@qYZ-hrcaADg|9eGIpuR9eAOamuel{7x;MhD8{;hexLkD&W!2UP zcX5VS9p31{9E*}L<2{KBPN7X%7KoN@hJEfojvdz~`WdyLS@ zKGo3jLtjV~g87!u6gv*1@;^F~;8Jvn9C;j3Rp&xfn{}R2@UggAFxGZ$>L>RRbJYR| ze^zUSWA+56`odb%c1Pop;^O0!G_Ic4P~RD>`eu6Zy+L~_hX>~=gm>l4O|ebwV^R(} z8t7zPEAzy22gh}XX{IV$Sm4Fm6- zM@4%#)Y(-9g&!;+U9d}Ns^_p=7e4SI1X&Ck9kR-;}FWj)t1U7dBxboI2Yj?>&Mg(Z;|nXdih;;d=y3ft0toB zScd8Y54Q0^dNBslszjyatY=pCQh&V|SM%6`g-+}wqk72o7@_^NDGO+#II*IpE#CbN z-0I{42j(SbLfD37>7mQi(EGhV{pjk+s9n6T(mBhwqeELE^M9*ak9Gh2w-B7U?4;4E zY_0wQJ$TlZ>O<5;_cc~L; z;Zd~~V0mTJrwyk=P%EB-a!y?Q?8$mJnFEA!`Xdh=IsI9Ifo=*z8K{7jI*(m+;A@aCkUqeYAaL2&qmAyieEp*El>68zUPs1Nq zh}sjaku}OMO#onNtPG<|sh9MH*6MgigE!sb*F;Ok$8i0fA5bdFODcs9l}$ zMxfOE&vA2QLKN!|NzTB*c{oavu4k1}M!KlHyQ<~c4MTq~#f`63%gB1cNuEx8|L(}j z?vG^BT0mmAWLE+|CK@b>Ycj@$sdYgaQ&LGv+nsH%DszV@(_s}3|&b2g5ggJwyrxeRc+guHncdE?9s8EC< z2)zu{jkWr?wf{|ms$BVHIWQ9duw?8AFf5uNTK0ZXI&yan-NOmFzPG6p<1De< z&K|9}c#9TX0`8fh@b9g$ExG9F(os|)dl0VEYYSzMq$=;u@r|fm1E>%3*ksq(3`x3K;>IxMv!dcq{vQe`2(ORsNNX;BZzoFtLW@J zdMwK_`}63tQI>2fDEtdXdjqZ{ltWY=j4jQd8lME{Z#vH-j9ai`B;H)R$1W72Y}Iml z&WG*GFhRQB9?bPys>325+9qy4P~~Au_!+yCUrS14pl#oLL(ajsjWOT zC-Q_ay_>cc>#oI(t@zLMJ5TC-61nhaRl}pq^$`z8N=2)A#IFs75M887Zp2m9$VjGD zxw7uBN96sI)5)GyhUUrzwU_r8x=fs7#BkEtpSk;$!h{P zH%XXEx+*AhP2p^pkz%WmZro#7l|Tr6`n_bMw30k#CUpq@N$xXja=Ma45RCQPT||xn z(ssotCIK9&X@Jsgc?Rxpim-*VOMR}U1{{uL7sqBCBOx1>&vCf6n+E#w!BGH zDnOZ2yJAJ0R8E?F>ccy?)d0W1URsJ6^`WQIH&`TuALYuswUK%;H8GdHN8)jLto7So zHxKhGfvMEzL!;N>Bfdd1LefIZ@3kyjH|?lDJsJ~T?+`5jXW1ztLN)rP0^f%lqML63|ns zEz{pc-#8=eMwq#3p9kz>hlMw~MXzYuoPEFl%f%(R^^%4l@8}E5J-(JFFK4b!USl0M z@g=fuvCo%b%4vY3Z^!YAP0+#YyzoQ%=1v}8%GcmyqLyY*B2OWzNG3%Ck275W=A7(u zMmJ{!Th3_j%^675o$HKdMA}tmIaX$Etdz?-1ae9H!>asR(fSsra<1@HyWtRU+dZc{ zP4&xsCA~j%gJN%_=_ojq;9+b}9cPpq@ME9aPLZLc@qO`&grp}32x;h)usQj1IeTD< z7XopFp$@4!MpNkrBX;(jSmP_hm|9AuHBy%tEb!0Rq|~wKIU>SopAV;2k4Sy$g|R)Q zZsfdm{pnPP-f$QB^Q(k=WCN#YQz1tYIBZ6Mu}i>=3&01 zcO|qWd66dj?8K;&X{Xxu$L${}+W(b{HE2l@vN=2p!#>HXY5#-_XORmLOX-ho2wE{W zDtdVlartNsEC$S$OF&zta`ry?+zd*4ClI5EOhvhgn1?F)Vn2D4Lrn-sC4=K7OrX9H zk%ICxcJ@?|9EqF%1qhIudLV2S$gg;>3-^D35m$4@_^#7ifH zoDwZ7agxv3;&aK3iSt{j`i=|e3^H-uXin5^gi2nSVrWf` z<-(F39EDhA9jBJ3i(O@PCBULO5R?_3`^vmM%1qoBlqrdJJ zGODorTD!myyxLUd&1Z-E^LKbP@p3MuxOB za%v0Hi5JFuMvHJeZ7VlT7isuZw4zER1#l_amS1npbLCb$Qras}5;HP0M?SHvF=q<2cD zmQ)MN6O&Q)h4ID-Ig(8XLV!mcz9N}BNtc!j;uXR$XDcv!fz-Bg8phtU5v3fT1L33t zVfjV)dpXA*kFh%ivWuZs2K`^>=%VeA1*$2kUi7Pk@zU}s&(vf)9>=BH+z{YT2bbI` z#LMoAyRb-_n8r=T)1j<+X~F8l)o5BylGjXUI0>%Rj!{%kk&?>b!OreJYVos(#3*6> z7cPb_DM{tyvT-!JMi4`cmCMTFz$8}pxJ4KhBq}=|Yk-JpGXMb%+sr29HoYKGw)M~? z<%R_i^QDEGJ}H+TjCR@Vd%k&@7o1P*bl}M=Q4}Px8!B#0cNkH&`j^NFa*^ox3gQVP zfKQA|-`4kvzgb4|_)1we;PjeR(GwLQt(_Rw#%1YE>rda+Ef%kq&Ma$LUqYkoSck1W z5FW2z^kJr%@wNfP zJED*g)49O@N6u{@Xtp8r@_P>RkM-=)9AX!Ll#?0WnGPRsHR3f1LTinC!^vfE#bkGn zyVP+rFi{0<#XiIO|OtEKXxT|zr8*QO_Sxt&~_$*6(Bwp$rpnNr3sVtIZgX8iF( z8(c}-X0r16RUqx7)ahP(rWAmeEz3{RU6g&$^ZGFo8*#Dza_G3fh4%*s`@6rr`{#VG z7F2~&{FVPy>Kat|-X+lBhEW+B<=iM{#QJab-*1BXKfV#W2M9sJH~fhjHO5a}F!a zDsIv%SPTGF9r%~L3bFxNIDx&Y`-e9Yta;2o>rDAZ0y}|mCA~-rEP9a?cqIV;y#xH4 zGX5X3@}0rqN0S?l(x?H$2mJA#P1dTF1dq~tqz6%vT^EGSE<7Dr*rqN}-n z_~F4U>ON3Uy*>TN9(vGdE94;rUu;e2>BaX{&@U9d?-O3R3O@w1gQ1RRc}k+j(N`f< z43~;Q6(j&B6?m0DTi!ZHPW&unR1g8H7;eIM?aNA*>^#6R%I`@9PHWS{$&>t@pq{%< z@U%7v?YP34Tva%z$j-jGelmVIcrK{h#dT4Qzpsia#{?oh`?@JEUr^$doxIJ?_gShWn(X?y1?Ih--oaUsuNIN( zsVrUBUM&(PmjW4i;zo9LUXDbwuY~m8W-5y0h9A|Qh$4x$$$So(2+ltaYmR(mEzhthE%_3#vuX|p2axU z>8{py2R$f}of3ZegE&I((eVUm#k}g|=3nHqLXpK@eGDy^LF4xjW%;Cv{w(-lW**%v zx|eAd-HGaJo%5?as)7ewW2OmI2tz1ra}w&4+VAYiYeTIEC&(;Z7aOGcC!ny($qtP3 z`mwN2_x^d5v-(+#?h-7IXHquy>1oA@)k?fJG7o?xDGE!!az^_!{CS{clkl${l1jGD z29sqn6h^*gI=ssUFE!)r@gD>F_AP0v7cTYTe|r73XrVSM^Im7D$=|R%|4{oW zL0=50p1(ytBC@#0!wuqkz0lZ|J!r%)Il4|vH|EQrF+f^iNoafN9uLP)t1OM7qfaoN zm^mna+RL~1WI8tH+p`FzN31^DGF)FWwegNxgZ_*Z9-GQC163+U&B`S5XPPVA_E#=< zl}vKh(5Y5vV&QRKo)fe)ujGxyut-beq;v6FSAKXMDolzT*ZCKZ{x^K~h<@plJ&L^_ zcrUM&ugp36pjqSUl6^jmeY^zYEE|82@%jkk{b)tdjuAx7CF<*a{v0$mVD?73`G!rIqN<^N|?wF~91S}m1+=UioC?5aB^Apsi=oJF5k z4&T;=ooKfvwPC#A|0KKgCcfjZC@)(OiUmd&Uf$D8Giv`cv#f~q)-ugfoxY;bp$h3b z-l>0`eg218h`)MWKR^Ki>eF^~GUr%rnSDL5CF&mCV0AS8>{&G?;IjWqd;3qk-^q$< zJ?|G8{F&xR{bzWfboSM@54w4?guXan;agF#R}w<_?xGp4RlLer;hh;wWnE@+$uQWr*~n18PMZk4Pb-oz72E& z^GaOc>M5T)L)hx|b?N<=spl7%eg@0uuk^W9@vZt601ndG$B{K zaHjmnYs=XGjcK_zlIKvi#ZfST*J^rsT<%(O+iyqMfiN?2nxO}v>%1#9l@LC^-7b95 z_xfd*4i#sad!?$t{xvxvGh{kDF{$)r6!5`=Y@ZJeU8Q}=(Blm_wV>%Dgrlkdy=VPv zfB%O>_U{`B9O^vZ0;HNoi#s|xrT_s%9Ud2`DrY2&w+3p1!TMgO()D5%Uvn^=9Ypm8 z8X;aSeT#8Y@K~Bx>~UI2XzH3;gUv&s@J@FJJv4nq`8Q9EYmIX$g`3|x_Kbhw%zxp9 z%>MZ!MmyXr%G}Ij4=NW2SYi?`m>qj`+&-{AJ+LFJr<4MD{L>Em$iZEvrly7XS_C?OwE+6Bu5+ zD?ZSBYB@^I{U6YwmpzPx&z1P!PqPGyw?vRWj z{UiC0ciQ4TQE`4ws_966vt=Ib)4c41azQ1U0jIZ$g(%ixxlk4CH1val97O9a4`zpT zj>pXkko*Thl=1#sa^T6w8p}95qt%iBP?2FINlVjkOfy6gQ~CEEX0SiQc6!LGHS`2H z#f(7P?WX9l?-?oyv{QTX+vyo?^I=Jt-0nRy_5}aXe3P^KEPtD^n_omKU+@5DsrV>% zKjh3?&9>g|rdX%%$#Vs(^{}e2lDSz^tESz_Q!)*J(^uiG8&&#%;4Ekb&K;vnN>6V! zNDGJ@oKWB4b-fu2AO4XF|BNLCe)0Ub=|=}N^T_?Q@uFSrv#g%n9xC-zYpzRYQMLF8 z{YZXmJ>;BauGGm%HUvtQ=+J}Fe*AM=4Gbvi+dATv*gE8lE0 zG&4RO^_?*4A?LX{lI~*B#>l~ofw%(e#L1cR_OE}2 zm)Z3_Wm-?6$9-dF6~hav#&(-pWSK!Drn^Z+c+E%}{CFD+&p`v9;%Ol}<;|XAeDg)i z9;x(H>-CL{?b}0Av60-UH;4^pp*Hgk$N2tlDH4oM=B$@#pHFmprmi6j!sX*zT%w(= zPOyzBZWah?%{U`RGkqGG1*^%d79xbWY6q) z<41g;<MY^Su2|brqq92+msh79ZesSUQ0iV zrp`4kZIZ7c4Yt%R_PfczaoE+hHS(Ms-it9%AAFVIvfQ{%ZNS8U0Pne`rnrvXyy!@- zb>bLG;ovZFtj*i`?^IGuxZ>|T6sV5o>XeA-k zn`qaAhR)$w29j=#7kVNO(vh)YPNQdm^q+P}=mX7$)Y8LyAp4?wrJIZ^WmwatnO&`o z@{??rhNcQ(S-?Uoq<#|GE^627vXuURF9c~7X^~NaM3x*?jry<(A{#%^% zq&xP{6+BLv#Xxf&6qrxo5YL+_n#>Nbn2Zd}FT$Teh)YbV=Si;hMdjjUS<`(VWZ6Tm zt6|-mwej{)7>~sX8*Is}bCC_*WOI7au7jV@L$a)STP@;9{IYIycq^%Bq?fE2Ybb1{ z)JpU^DeV}i$?<11o=$%4t62ENTWevTKGgzA^>E@#@Umr! z`tD~}{T3M)hO}fuZxSz$-4TpdU=bt30w9%Z7WBWo zw?1aHkU%v=7FR;5Cyn9ESX7xhT7x6;>Cpjc$px9~^XLsbBs7*1eqJFS0@1hV@j~gS zC?~nt0Z%}nrdK+Rbf?mjxtK7+UKG|Hql}R*Q^WD>se|5MWoZTqiR#C}c{w$Q=ur8p z%4b)yxGdN5zRr(KdW~-c!u~ZwG@yT0fFtM@zX)dlGtY4Tqtc}(uV%ty+Fc~n+;~AC zXu5xU;PLrs`yvO=_GFKp4}aFJzGt4$%QvJF0SonsOyA3o!XnbE58g7Nr};}0;@jpw z)bkfjb9=tFMgCaLj>6(DtAxSgbUvYMrxJeLJ$|}FFq)UTZEe*&*AP|=CrYzoD+o08 zz}`Nvev%P9gq`lc{JqS3srdc>35+WKbY{ml{ClJs#*Eu^=)nhclnO!4>cYehVk((u z+c-z8d=(pyL^C5Q`2?XS@1#Wx#zpA3rsvz8R?sxpu!TN6ni+LI&$e6|B+g!Zl^{`r zfAJ(18m1yXpCA9c`Ea1NJ}ePUQ&otM(2u6MLsHFZjzsr%unbP;*TpPeVzK5IiJn;i z@CG&1Kg8#=7qU4@G}#QgS#zf+M@&%yYa-}u9K}4?G$F)A&WE8#OsbpQHUmRemW1{I zvBVa8881aV%>}Zqc!TYH5;{U@-=?|HulNV;_6ZparQf5%tr(M6_E)h$A*Vy>-{$xn z#f8!q`N7H$T`k+YPYHBV*rMhVw)G<#)}o#kEQOCXn)KYwNAw~ipPU!pUuhVPzN7m1 zYgc%>a@VSNYf#qwzW+qGcxESN{=vtbi_{`4USx%wO#3Dh{P-t5-g;AH6I@j%fV1XE zXwv1qDVu_Bu3XOtsfhJYryB0!d)Mux_ooHz4zu$?4zB_?9=cMxxB?Q8iL9LdmTFU8 zJn9X<(@0)HU8Gh93uT|2SFm3BeMzXxVYQV?T2pu1#jX`OISQhMWWk^&poHDT`2}y? zH=3^Q{o_=m8Et_4y%IX6ZnO0r?mC&Ampj~vDb|es!MA$V9K7lqk(}O79K#8&(cqm) zqY#B>(PCrLmB#+3>vkqL+FBiT38med)9we&oRVulFHVhGj@C)Zy^kJ z$-lG50(TSb`nX11W=nG?>?+<}rH$Z<4xiQ3q^l=Z*%|=$5z}#`!ieVZtd(L+37GVu zu`zMbIs+F1JMQ!NiqDYU5~QBJ+|;K?ND#b0pGf7TYj;YJJS>?dQ)p5PN4P?L9e5RP*7}$5Gn9OC744GZOeXg(F5!!KC?^QR)`E71!A8+@Y8P6#l@Cf z;hQ`b`3Km>H-8Ohlyx6NA8u&ko~2TUz;yN~owhm)-0Sib7rrjB(aBfQh)`s1=<)iW z0JvSQCCLjOM37W_o?CQ%@YYo5Tx6AwzEC?ww>Z`OI@oP_#LxUnA-Y2GDZ|d&_j)il z8*#gOYyq~UF;@Zh2|R2Q^C`f%qJNvs(;6}!bCUiEP7B{Z{~;ZtJa%1EF?23+WCZt) zrdHBJvY8Zc$!e#JSDDa^O396C-U!$UzLRdDxTMn>UyeELIJBf|D0t zDOqKVfO`|;1ovF3WMRp%0N+Wk#7PDB1`uY>4A%EbR805HsicSorY|19=;_*ltZHZ4 z$37pJ0{B-wPxHCaQS(mAvoG5b<`>Uq0OkIPp# zm)S|BHjrU!^|f`)Cs57uURgfz3MP7+iE-Jnoy5LL43zoB5?ROM06nu(lFL{_X?U5* zrm+SN-woLFaJ5JFCe{44)B0mwpv3m(;`W`qcSi4`FaD(u)_69%LZt=-!wgeqa6U-O zwCuEzuxzV=BQ?WCKoE<9_dvi^pa2;IM=HBoRC>X>W(dX9DX+h`Q}K)Pa{0itj#|az{gs{XjL-9HD)-I- zExBL3(RAPJsrXN3(51@>d6*_h60v^1P}_bH^F7u5m4*a{q?ciSZ5^#?(0XkSs%^jc zsY6YjF*)z^AZ;tF80*7pY$~-Tq$y%qlel1yO#;6vxwQ82PTIF=9CwjdF)0_3qT$GD|NvQ5bIeQPEG!aOW3VZD_rBxbt?8W`^57pZEopQyFxy zRh71a$VlKs;YS{*OpR-=_{5zq_Ab-GKkT1hoN-9z@BQRLp-qM&b##bSq&L3Ld%jnq zH5427Yz??R$rSuk{H~G^cf$VldGu})z7SGAHOL;Z_1C_lEPv3x^yhb1h$QM*Mg6wi zHtHla^z)1`uSDJ1!*{jOk@brMytT-S10o0eIzJ4hmUD9<80ml|Pd3jXMR#rQXH!Gu zi;z?-qVdZ9xE(&mfW70!#kuQY$J5e$PlB}Hm+7trle3}Bdpm8Q53Nhi7UFvz*dKnb zU`Q-*9ReH!#bSt0GNQ{)8f^N|m!Eu58yqYxIc%)VH2LNoISEl0KW zeZt8Lx@r4-V1epbHbVNr_9_SJ(9kZYv80>)%h;Gq>&3=*WZTx-_$N!=1El$!M9x1* zS+~==R4XNRXLJcjdV)(=%7u{5+?WkkiRtL{p8cWIv>L+0Hu%%w(3Iq&7;Sy8lV!Ta zy6=K!T5|t046XP5X9UfPsM#_KpSPu>(a92OJs+(_*v5=zG4NyqI=xO$(X!h8I(0HU zpM8xnDfEGqxRU}NT2+5XS%gm@M&Urxe$)Qo<6+yZ;;ad~s27U+x^U;nI@HH$sg1TR znv^$$RwU^_Bk!;7J(kmYZR$&+?$N=PrDBB;)m|gJ4B@AY!mde(a$Q>+B>T!&igIbT zzPzg8ZO$+GLo=wX!gTe=?Z4laIg5$ea-{Y=Vcy0bg`U{EJ1e;Jwo3?V6Mq9e=B90u zZeDrhm<8viy=!PgnLODUL(zW5G#xWu2ap2@ag+Ti3 z>Vc}!NujE2pg)cF(7)n>*;qcPr-0T85fAB`W;q2JS-O|<@$@#ae5^*?!08;cP0+5< zc724|c@uH#f1v5(F7rK-b)vO%=j`Pc;z#b}aaGt>@1Z!^VXM{YwCZS9u!XW#kAE!~ z8K!;*=Ek*yt{W-0J#vEN)89w?L^Li2pKdfMyLENQdzyxyxY2&^P^IG86<@33`ftOZc{^>6-{y=O`Vcnsx&S4K)i?i}eH~ zO3hR&_Qg7-E8gJUK0zI!v;b1||_SW?4{H0q7^0}WUF zkL>V?EbQW655wwv-C#eZbO_=ZlGJ!YyDLQ;6~#dO#LuawqI!d$q-CAtSrM>OyAMwS;R zmc3Whci@bW+r^q+-j_ZW{|FR8QzFQsLCHfa+%;=4ZyR`c)z#9nr@joEO5O_7r8$R# ziLx;86Z3eUoqSjuSmtg|Yq2RGSd`_mIcOz^=pI=Y96AxIX~%nq0k-uo9Lg>oY6Rb1 zWO9AhG9}P0E+H#duIFP>E@XSgF(W5wABM(31C3p=NmMQcRte|(PRYg6=syRIuca>-+9^3bPzw*V- z#rAj`rm2QFfeWSgr-`k^ywE6mC@tt`6Q3tneBevtTl4(`F^q789O5wkqh4N8a^d-o z^H3*EgDxJ>PO5d454Tg%lIipAaREUR?+|*6VC-zNE>RbKx!B>fuxG;Jxx%IV%hnKbpmFg~jDmKTGdhAZ{a&y7noh6mV9d z10gtLbG@KuG$VY~Qf30`AhYLTHX*SVTE#vPKUBBFKK`k` zDL=!M%)`+blIuoA$_fcHo=0Svh5A5oxA-LzSMj4udgLr7I(^bBEAYn!L&2+l;myAD zZXu)T*`>`MPEY>SDm-~jb%jcbe7$Eu&4U*{ii8>*(kQGTEgsn>K~e3 zoa1~rNSZ4?CW#reiAgv!8xr~^BZAyTrkY*lvz+^XvZ*jOYh~YFZ|{PN>E}DamHZm8 z#ngR0-q1}HgusB8xJ*3yAj?(JT-^79C^QMXhHhM+aFi3Hr}TpKwr$GK8o%c9{QgNz zOLxzmyj<`omXr&r8sqX?)~kXHfzGR1>hgAva8AGL{;c26Bbv1Wfcp2EkVH(Mg9i`( zM9-k|XzMj(cmDKvJC2W+Uw{q6!RRMXkv zzzBWVHC5lqJ-opz*gc?P*buJ}gUUP$D>DkK+bnqwB*({sa;`w&ZFPfv<$>~U$>U(l znRjzi;>4PzMIv=oIuY3O>t zM!|>CHjfqr!{X^G>VdGrLr%h~60?Ygh2n=G<>MNaf&pek0S^h|x+{4qr4R*?^9ckY zQc?+@9;48Jswqi$mkD+`*%)>f6Zg(70ek-cg^vfz77$9eIEn{=t5sgfZ*d}R_S3P& z0a|GR#6mT$AYP6bY_WulJV_;+QbFU`Fy2I`r(v3Z>hhzf6k-BN4Wpf`!dvVpRLu%q zr-?^f`Ipo&ISCYdivg!Y*!K68E)B9+c6I#?hYBuI|J`;~gHW8LftRoWb^^w>I}P8jgBe(h?>4!15m1ug@roOtCR~W`ML1|+?_pnJv^Fs z@AdVnCCe>bU5@I*uCqvvu0=NE=ALK&H{4X{`Hl9}$M4^o-7M2G%CfZY0LFKXW1b*L zpnq*m-tFc)ojKWBffnL@DG^8Grb1&trH;r0T=zPOoIDg5uTTXySyXX;8Y>+5YUPD ziIY@xlY4UW+np2nzalU{OQxIaUXCi;UG}0^Qd5L{`PZ~69sln?lww0P4LSCI_~3?R zD(li0q>{Qm2@{)?|Gxj$kGKAisV|9#CX z{(I|+uw$ycj(1J}X@v#< z{-nZ#Yvia(uq5Hw`Mqbf)PHtt^Z2spi+~gV4^T@31PTBE0000}6zoy}0000000000 z0000B0000~XmxF3ZeeL`b1zU!0|W{H000O8Qxxn{+rdPV-q-;EFZ}@k7ytkORA_Z= zVs2q+Y;!MkXmxF3ZeeL`E^uyV?7U|noL$#8ELxNxA<7Uff)FJ}5JZUHd#@3lAbJoj zQIZ&p-l7vkjS`)NgkkjFCDD8I=--}P*Zthjc<$%=e!lOI_s=MEw!QaS>o|_J);`~; zD$5WNP!nKaU=Yd4N~&XE;6N}iux{hwg8wKyTdcsqV8D=*e5Co@cx~!(%yq4!gDop4 zJKoDnl7_u*IM*q$$zOE6HhrXe3G2~kMb$$E{Y*TG>xP=xPDWS?cm40+WipVGk1*%I zzA5Xhr;7hXEa7+R;)ZrwQtHaa%Eof)M)9VI6>)~6*3@wgAAzWY>>VyHE(!unJO+P^ z|M_t>LyVfyEYR67_&lVMW7pI@ARbC&R$nF(B>yzJ-r zJtB&sTVtWPVe{nuEOoT&GU%hi;}k_p5C;!})Q>r4glA*6L(Np;&n*|{zDm`UmiBT)E61wS@jlY{7Vdi? z7GP5{n9mV`i!r5}CI#EJtKKsoEae$yHaRd=BqbA|*t%jpRS_a|A$sI9i6Ih%%;Z!a zaQ#{>Y3e98s+(Kt%TmvgCl_2TEN>>23(o1+4k;@u`{@jqW9N+hwDyy{H+XMb4TApE z49noDqkZv~{YP-7{my+nce(`TcX~wQ%X=OggbQ!n7kvIJeQlyjB}u@M%VXLz_nk|( zAY)<_n`-DtBdjf)mQ1c!;+Z(HwLifck}Chk2;+s}k%8fziZRIHxVHZM^`m7zgx(h( zPAlBOH)5!f$r?gT8-+tiftWel7g!#zEI1_4j$${54al{(h0`hZS1~;+FE1-+PH8bw zcQ9POinhwC)4*2dMKB-G2jF45ZhpN?_gw7kcbjO31c}J?UE&#^gOn>Y{EA%F-!YfR z%B?=v&XYqoCTldL!{|6)T_%beue7V{M=1Kk)g-2!W?SV}`R%jST7sF!i+qw!*2jig-49G~JWM8;@R->MQRAcC<=GE{GT}EOy*FxPYTZ^@MvOdCX88idTU$a% z6lQ!+vz3zh`#)GH==2cgs+R@BX!sps4tEyX{V!oj#%mR*MbL@7_>w^mU6`9oxLf8F z&GJz69PZRTS<_!&rIN3j@iIbrid8A;R)hD!eh^HXA%E7Ip3vK1?cf>pW%1T$)5D&aY?+jv^ozac1Q@L=96C;%x9t%a{a}(&_?ffk9V5i zethn@fy<~iMqmE)`zsRpT;-IxG9=fXp-5{>sKZ#9RBAH6(r}3hw^o66tnfy)goDF? zv@1ng+{wucy)yGRCwoDZof-FzPC~r)qE?0qlINTE=ld@c-+)i5Wo7#|cv;fRiO7vN z#T+=>5FI@k?+&OS6RlDqrD-J%`$>j=r+dIjV@ciKtE6!Wk@efOR|I?I zrnu|pdk5=tHJG&#L+)F{@7WH@7T0de3qD_h*Z*oJbe;_pkgqzY<HKYdtNEJeth?9{KJg7Y+*{KQ6VtU!nRqi+#o*2H}OezGuUt~*wl zPaARH{LX%+X(?_aYubylWCPX97f>KT9e85>b-Y`VVrpuUhF;4#+gok)m!IyP9PZ4+ zc)Q_*-1ViJDY18Sl9&gSLtyoS9uA|7S#)B&7Au;EJ*gtl=f583>we7iT#%vnF~_Xh znr%%qA)$VtOXvC9v}P_!p|fPKmY#$@&Q`17$Px+y)#-Kzl3StSXm5Vndt;6NgPp6=`qbn?w-$=fA#?@*1xn3^oGm)}X#;%^*Y<7|!GO?KwJ7!J%NpY`ih9 zUkNd5*M6@Ql*A1c=m@*(SmB(VZu-R^Z`751WxT09Pa=AvDjh+`>GiY1@69dqK@9ud z1fKqECo`L=+RDwi+Ik%l@ji%m5DpG>uV%56?j>uAt9t(8cs${%4YKyeUTXFXHQM;AX1gFT%xM;xDN$g0QGiX*(oesdylHa?o^cbn{oaPQQf7?&pM^ZsC%_ z$`oNY0&f;Gy&xEqi%X7CojVJ|`e??hlVugZsEUdT|81mBA-vLVr1gcl>weBaD*Wtn zwRN7yp+$UqNz<9FC3O72yh6N{#-UzqxWvF}zkd+x2?(VNgb*e@t|DI6HW*~qzvT}j{f=2Q0}C}aId>C4aogx>4L5~7Rb1qhv9SI;{i8G+&|eVvs>&gjaN9|pK!GF ztUUc5e|mg?O!#PK@jdOFLn-MV{(Yf&pI@Q;9HY)Q#}7mGb>d}L6{S=1^Q9y@ti`48 zd>tGp;JY{c9XhzCLdZM#h1+GZJ60~5y4D=Ws4 z!#{)srd*>1;UO381~mi>OtxFUK4X!{hEi~LlA2XneD=SjUgcm!_EIobl`+dLs?4p( zXQrvhpz3XR=81I|b-sS(hsmLu@(SCbj;cZ3gQ&r0J0;xp43|mh?v=CAuM8pISwBr{ z&&x=pBiQLjawA)bXy!oR@GzuE#beAO-^dR=&0c!wbKHSLL@m2H-OvRS6Pf#VG+DL- z&KkK-+iE88X}@^TdsSCEPxXrcZ1@NCe7d}C%?I*SJ8J^Ih2(C!7f`81!EOAsHSXe& z{G%~=A)eeW~iSnd?Gkh~Er^?KAgr zH|$1rCJ1U2+x6XijPZOWKleyEmDsArb>fr#{Kp?HO3#+*xsC=5zU1Q83@gf<3pq$g zH*92t&_(gt4JQ~Vrad&ex0`)Y42mHT!v10e_%HUyte{Uv@7DZ$dna2Vo-3U9?BVII zhUeMgVh)JwQ1`Xb^afUQjxLwArM~N4W@i(z&%|3ZBtkker9wO1X4@hJyaUuPa&$ny zXvG-5VTa!kygBe*iA;pA7Lc9o;=ohp;(UvfvrEe@1*gD7f1~N#cSq`?+x#s# zFbS^DEhbCoL}dh)&j}=*%`MK$sYPLzI2aj>u6 z#iYJ#+ncZ?W%XnEY5nt<=9idkw{O30%lf$u+ue07XU&=rM=WW-^}0Z>0h(dqF?=VJ z4W9o3NleVlRcOn)PDvS>lr7)h(Gj(KH!hJ3`o04(K!Wb-`{2xv0t@(fx5C8KOf#0w z!r$mOr@YajIF*fqq-Gp_@YY>1j{9*Pu&|1}P&6}mZr~5^o0wJEymp&8{ZSUzwPC#% zZ!}$TjpMo>yLwv7>3y2Q4y%1C^hI%UpQnE;EfD4qlppdREC~ZM9Fw|mIfIquDM#)z zr2`X11r^GaFL@^OMlV?8o>9TZAyu#|Be`1DduSG|d+akXvBpBJ-Sx(8lv!37DBk=)Rab_8K6Ly zmVe~#;N42|$AwYfQ*Wk3bauwTIu%DKNujmxGjF2LlP8#`o+eBT2KWQa+Jh(4AI;ha zzGK_jRF^~WA!JW6Y>3g>%V#j#_z&*i10-CYpp?>V*HKbAh@jXJI78Cgx9DMV5tx9; zIRS>h*bD4WPseVe;H4{B00{z5ws;VMdY!wy&3HxrJ;&)uEhYj&g6#D4&ss+8f`sOa zbJY(qg5i->co*EW2rPjC+X|zYZyk6@Z?)0SZMB7HtVuid<- zQ?*)g+$LP!2OF_;B3=lf8Oe4bD3_LfW5{qv*r0!4z-S8i4LMotg}5gf2#*{AKcBGt znvXY;Z}L5zTS#_{^WJO_`0fI@9TNzb@jz6_juabV4HHs8ZLI|zChzM3aZ_-nSz>Gi zP?7;~v8dhkk)F=dD_TNsYqzKBJOqZ^HzwJl(|ojpi6J)uqm9EMr0huGF_WKa_6qMF zuXsC9d8Ahm$BD&n+R_?UX4OMyLfg>xuEr%trzh1?JCDL%qAQ6n2MEnen-T~r+nB=( z!HaME?wxWP*f2!4x?t)`k)z^D&k$M-8U9k`}AnNY9>xTmOZw%+aB>;J(j&c*U^ORs~~yq zSdjAGJ&ZxUa7un#&6^Jf#T;8Z6B`w9iEmi@ZdkHpk?ZT5TBk$c!(Hp;tb6(?B4dEQ z?|kHoRy(#y(}G-imk291kzv0eU;`P&5LCDnTGzxrr}zgOqw*B>2h-kBDJko9vJz#J zlZKuLQyyKL%XDE9!B@684~Aw2n0s>HIlrCsIhe|!qfkaHHN}k9CQc;2s(qkmrLCO$ zV9e?8KNNNsaf`_7F6Va3L#>=&{$ zfox#@Sg3}si7{08cWXcGO%D)6d@}}&gAoXrQb8sC&{X3>)5Hb5G!2_fU*U5BDyT5+xk$SV_-dllQpMBp#=?mtJsZD9uE>qik6DSd zwwy#&+$HWSJy;|Ut(A{H#iKGQK*h5HABYulTS3$;rrP;-E%!T2mESa~S&dI=LR zrbg`i>=dO4oabY8;;Ijh_EzUxNJL{o=)7cKcG=b+trW~JrulIV6uZpF2;?Vh>IN9`Pzrm-* zA}9LlDz^>X$icE_OaTx#sRNT;?l0of$5*5px*J)uP6KTOyrIE$hU220<(9nswxgw* z^q5n^stDa-Z)hzM>sU6)in!JNsvNxy1aE97WXKBE7ci41jXcRtvd z>QXo71pIdQ)c9`xGjVC7{ddB)F@Zt}-}GB=aG1LarHn6shuF3LR1rPBrDNg}ruTmR z)BW}K-xH2a?ZZU|T_epwg!AP+5AV1Mi%VBE4@#g-PdzZrr7ox35xlROkAX6@-28?^ zND=cq{M2=sn$H#ie8$L@A}iQdf9-OFEUL3=ga}9XHHB$^MsfM1htxI|_r{Ovcvvqq7sD62OUMQRU>1gC5vBO8@xKG4>eXoqyj+vyXq2uvN zBscDteqEDV9UG~%W?Z3Li?I=4%-YwnN_@EWm8`MYV||=&O~RRUrz>0Q0(1Qc2tO={ z{Xi1q(pZCc6+Ts47!4}`9749tT=|2wv4M9SQ#lHhZASs((nKfP#fEGiQ*QD2SNT*2 zU#ahog~oGirQiXbZ|`DqEH^m3dAR9AwG?A{r+4t!mX?UjZ8%5dclliWs-}&7)j+?EaLhUWp!Up~+hj1ztBXirk^$hnKzx;}wbzdogr;eM82~%R7LrMMT3NqoFJ) zwObmAio}3lI1tnH>A?VKSgA^hw=S8K0a?|ZB8-eT@wK7z`bMsUh*o(B@xiLbx)9jq z0UvxnSK7~pO{(&Etjr?Q#N@?R(2WPrd)H`mbCqe!WAv>A$K#1F+xnP33b6jeT7&^> z=?ARkd%$HnIPkT^+Atb{IGcg@HMQaL7Z!6Gkm%j%gaI?`DDCvpQdNTOo#;=eZ+d^N zy}Kc&px`oeU0hm6@nX{X>NRm`V=Un5)R#nVuxyTg%(ijN zIIhxJbl4i2x(Qz!UfU1w87lT5;DDWvgfxsANFt~vwtj4&F9us`0n z=HS}5-lVNfiL(@!s>+qU{F2FhF80D~J-Z|JF9qn|212n2|94kPv?E@N`@?w%9&ky4 zKh*WW@3AuRjpzVs0WPBZDRmN+)Ru*y0xU#c2;I!T8iF$yzCQR9gO$M{b2kL^!_W?i z2?4>yGjB%`#RBocvqV3JTcb05I0K5gL$BV$x`a(?BBt_jxa5gQyU-Vva{gR}+*}1| zY3Z+}e^=1Zrd1H75Qqe6r7;4Y;oQ^ZK=hnDRwo29^WM3WSsDrF!M~i$g1&U~x4@W` ze?6eMgdHUzhShpfUq5I46s~P)ZYghRX{me4V16Yuv;*Cfb5UYJlp!+O^|%@IF3ra`Y-=4hpP?Ham)UvpoZ|g;Rg{D|mOw0RoVZB*s~6yZmopfc0odv` z`4vNLz?=G_bEkka3CIs#$U~^25*=8m1@Zsi)qU2x~vX9q>ix_`YBnx5^jfz>1nI?<&`&-bY9KtE?hkyKreDnz*GyK;yft^mlgvqaCYqG+|3orWKY482qg^_iVE1 z>1eguLQk?zCefD!d`R>fb9N27e?;M3g|f7Z^#Kce-6U2DS9{eQS@T!f$f)j9iPOGV zF9BImy3@*FKGbYMQNv?V4QMT&<)k zBq@}FGwOX;QsQb6d@JxR`8@sk?-0+8&jDCDTFAKYh9@jcCBhd1Fb694kkKImcq=nD z3UJ}poEB&6h-+i@p5+|IWnV`e&(nL7hVu3b)f>FrmdDC-9~`fhUy4^)EnAg~W|7;R zZpd+-?^sYjhRLoP4|mF*b`mh8;0C~Xn2nW$0?@Jl9dOTPB77ooi~z}Nc-Nuh5)bWW zBn!F%;zTDzHwUUpu0WvKgT`UXr^C;-QHf5w;lfC@nwsr#yOPAa0|ex!@d_aXkQu!S zS>NA3LP#Sz+S_@`p(?`b_XPI_HM%17@Be02o0c5EaNkC7-=7iJI3+OxoJsNAexd4d z*;1htjga7RMIwky7@fWT)3i!!(XSSO&}EiWu>$Q{yF1ocINnsConSqa)kk+Lm^JM(9$-^>G^$$*BmZ?edP|6ALa+j)~NAtfo81Eqa+K;3z9d z3W5y)RY0o0N3FTrPYB_rXNXG^x-a!+ST@NPfZNT-&N8Ckt{-)~_1?Z`;C7WD3iJt? zjyE1;;)V}raDhkV>l)C5O?a%q4|f(4_1@@Xt|wE06*(?8s2g_D&T0z4eJ5n*yaZ9|B087b?rWyrE~6!i@S0>XGsZ9qaJEsseNluAZa@ zU}x~TD;3s0+_JXzR8B#~V`vQ+cZbJ}kJU=5Q!8Y9*ue20soK?NY;cdY1fZ1b3R7+j z{VUgP=2*MTf-=8+gDhzx&*SwfBO@8+3s1iZ@WacobD0MdulhQorzbwMSv}I1dLGJNhi9qR8IvuK`am2TZD(n&xpztgDQ7skv+sR1S>hS9D-U z=nwCKs^bao@7}nC-F&^bRITZ4=-cLc=-JR7_HxCpYdZq*`uC52W;2(tC&8T6x@1yZ zusA$MCdW&Ee#-*3$Bld8YlBPw#e^TQ00#K+Qf?i(ms|%SN$tB68!9|?fZy{U)b64; zE!+kdX)W8Eb3h&50igALr)vK-^r*4`&g5ZTxP*7BNzBRV<5E1^aKy)rxYY2IrV?Gz zx5vVO`)pfY$XNVWKgNUGs=B(jkF*RmHH#a15PI^52BPCc9l(jQ z2!?eT25HR0!$WmVU8<})8TX0KLXN)Ak)-tCX@B3}K~F$1kb|(NVS0TT3)6x_6`tm3 zd6(r$dq;QN?(VMSQ~i$0H*lW$;22_bzRLrw9R}ePkY*6XakX(ZHa2eNH^!1CqGtO@ z3BGCIQ9;jfs7nF&(vptyWl)vI#KFN)*Hu-O_6Y5=2i`H7#=~F1ydjUEx@=B|j(pj# z!HC{oxiux0UWmQDvz?vyj>HRph%!zwgp@tG2OolLjjThTJ7b_`cAIYx$Y3{LMF_hq zz6}j+slIupC5XZDZ~<^GrvD@j2dK zSPYP70qC_oObTrcN(@22DI230B7w9;mi6jw;Y$LHv#BE9*(x)Q&ck|E?Y)c=bJerq zJAB`(W_+VjNk-PR7dO|(E2F*kR*{iRGUi`i;*`x7l$ei}n)YYQk!hTxy1;x-kCB{J zlQ$`ipJxD)-GNG(Z6mqk!FOr!k88nvnZnng(qCJp(7lTl6_o_nT&V*-19mGda@}%c zvSxd@-ZLsb-b%a`mxwxnMnA19QCO!HM#t&4GRQ{$kna9-RXX~IhRP4NB=t(4WpJ1@ z8U~B*CukPx_U)D4jqc;q(j>=+Wc{3df*z(cz>=g=I|zk}SqG>x&YqnfTYOJ{)L&_* z!@H`g5V0|ZYW(v(oTr39UGwhQjcYp8t@8uttiFchc4?Vk*_$(H?Q!F8Sa7GEm*GneE^ba|Fj`yNb#fO48&aTcjl83*=QoUB# z1gjj3mU}Z^8TO_J;B&l+wPI0;(=qX>lq4sjE6^$7;)om^^{9B zPrea&uJ4U>l`Z@F9LMR}uB&WbhYAt(K&;*|0yvHf<*G$6W$ApHx@FE`pt6D9)SO)g z{FFU{%SVC%GvF~}7Tw^sb=t!P21@Tfy;rlX;jskd?Dx6iAG$8VJCpbnsQI5-TRzlB z=A0(yX3QhGn>f-O$IUHeRvN>Uzu6clUn}c%w(H8<+kn zq55A&(f**IAgINPCa?ELgOTE>)KrIi#B>jCGf9WXgwqPi?kse5W!ycx+_Y3Fq~J7O zVY6`EX7xK|%9rQO_^dIbp-#XHpl5Gb&3^{ss~2c<$~fhUK=!UCIW`_jf3lxoq4(L1 zTq<)g3NMmcZQ2_)uoUF`)&QW<`;IMo8NwLEzTG1lvGZ%c$bdZ97%P`KBB5d+5!r>` zYnUUQ(W0JHN_%MZ>BVWKpp8EA>l?B^9d_>P<8lp0d%zHI2q_YNsk~|d>Q1mmpU-7U zL0LI`^4aO0^OO0G?N#n3#HwSx>AuI>&Qg}8WwwTs%P-{q`UFZfmYKB?yM*2;t`<*y zu`Smsd<9I<-O{|bXzTRc&>!A6%Z)K5^V#GxoB1Gvn$_)M!^#dPNI6&5a07`<7&S8y z^}W00wDBdnjOA86AUJ)Jt^A;s1FUXgwc%T6j`38jrAb?Z_d!Sf;Z9ef#A%II2?$K; zHO}+?uVz`y2SY_qcQtAjQ@vjt^hsD^a(-D*`nM+h?-;HPo~7ve-ql~P#qtJn$O66q zerNBq+b3f&-x2$MtVi^`Uawfm2|(Ra_Z$5S@%3gPtR4rCK~#hR?#h2pyPfZI~Z?nN|8E1cf3$^G?fAl`ue&SPX0M=#b92f8=BXPA0 zor!-pB1GLa@9c0dcDv@q%o9{50eQ1Ua`-=GQa_33JF zzb2>PG9-;k{e{OSv{Tj4>Rhlx6c-(TJz#<@j)&@6*gz)aF^e!sl!2fj5CI2)H2-ZN zEONq$8GS|g!0k%H?w?A14idZBW7*l=9(gamoT{=Q5XOc3K#W|x6|r7TicThzfFq1Z zzdO76T|J#a)C4e4qv3Fs%4hpeD)c20REMKiq0$a*vFPI(0od8V|8tiz;4b!C0z#!; z-PFrpmI|eeZWiUrh48+Lg!8}xh*e|ZJYEtT=+x*rU=n?In3P1Xy;c`HupKOUPVQ2u zpsz3aC9@%{(;W8VD;|WYYE~Y79qa%^7}Gc%h5kwLG0{K!=b`Wb=RsV42j_7XE=JF9 z)T6j!<+a={nuq~Oga=#dhr?m|C&c~ticBspjlp|K}k6NHm-Y%GQRS<|Dn#*4QWXWL#e`TmUl*Qr|tQP008yOk1>^`WI z|I>=l=meO_M6~XC8ha*iCAxcGy#gk~5$B&~WR@kJRd$h9n4)UYbNNxCo?cXB`tSL^+FDzC8ANC?1@Q9mXN-K+4Dko_Mk{)NR{yYKF?;dO z6MZujoB$=8?!Mh+WW;$H1Ot);YTArF)@T-jPoa{ht42&KbgRyNBc?k=INtm9BDOpt z0bZh~NF#-y(lEYIc*~9f6hoefHAU_gU>LJMT0(Lhn|z&h7Q3Af=i`O>4OUS_**_FB zI+}@A*ga-qyh=cHrp6@~MlGUW>%M%`W#)wj|I<;1sap3~fa`CA15o{Z@4Qy>`>Ryw zc_q|CjdunIRFJJBr1mhb0Ldl-0+%Zw&Iv0NYGw;3z52z?-6pHyhlWc)$9h}~n-DP(f;ec0io zm-I-nk;QB<5sT*fL{-TRVRw$lqF7<9fY|T6Cj+aLcyW~&z$y`B$-(d=bQzWWR6)Bqd|Y9-wcB;>>rszhT~>%?*P0tP zaELUCxDnZOwpW7cKhD?8kGf|!tf*aN%xU6xS_z{O)>eLaXnwdq;W!`dcdF3+U`O#! zs_j%+aQ-?($ozFpQ*f%_*jRt5se}!ns2nCA#Q{NJA!Aj9?{o|I1j2e$l36HCoZnPb z@9U4%+9%`FTqdEuHDc^tv^M%t0+*QjRv0y3R6%jQIx(HlE$;eXFDIYRhOuCr&V$?V zRyf9=Hl4G^8@VSA78@C)dM+gTpAJ47$S*Xi({3ECulXuN{lNCIewH-RP7b4;msjnx zTGzQ5x_=A+$*6Ri8_NtJS~lXPz^08Hs<))`wJSf^qy@iK;Jd^M+}>W z`R-DmrS{{rMxUGmrig?@IG~o>ySzOK>D(T3vVvP*$+~)u_cpm(f{FLKEGs;WHw7F{ zorbI^z1(It>agCkZ2!l8&S0BxGIX0{(3vNBJcwVAhB6_ zd9t4zXSf_Y6Pb|l+>}Q0g$i)K=P$B7Hr1a9X{cCH*g_JM??~X1#0j~rB$%kA2x&E* zpLx%G;TYbYqZ9Fx%?c(`vcB&){lIfE#lw6;U?#!Nb$^CeMU=DYcxqD-VZ&}KSpfwgko{`J$A`4+Wd1L8!-#zUWO&~+ z2GLpY70AtlX_p8++#+5qHd=<_~}>@7%UCdNP?I zaanNjpeY`BgH|vx4NFTf(GHHkHiM0bO1x~-`Ps3hdp1|vzNpc-*8)?-gPSU6^W4Sa z(#O2_%u$cIzN87bIO{RVjoVw18|!%i>mbO?0lVV~DDVT&xEaf8ex)aL932SaQ7Nzo zN4p~LF~5jQ6MemRx3jx@zw(h4bvPZbv~7x0u%YLCtfgPej|dUVeVJYE;V;|{60Ouj z1<87Wwe{mk`M-hlB+U;p$%O9)!D@AW8hK1vj9YSsDEA=XGUuD;bAYyE1;b8{58`#+ zs|e(ph3IqHlR(^RTuXg%snb<2H(5`dZ$E+s@=kmaktfMgDMA9C*N4P zRfL{#(dC9f8t6*rH%5sN`JA`pIa&qU&cAchI?I;18-I(pM$m5(Le?)g6&hB`YZvO8 zipv@~6qQqBb(!C|``CYNs%~WH3->;}Pv|>~swfi?q-b@}-^ zO6}fJQ_xSsf1AY_25+|FF)eXvm)r(h>rZGoilbnm!cJ~OMOW5jH) zU&VjW%RD~p`{rQMr%Ld#}%te@pO!W?%+dtIl5xhTS|B%_H6Q%xyyKQhGrsGDH17 z<7{t+ghgMb)caVk&s~!>E-emDk9-^PsiG^bNAn&zR+rP@L!#Zj+6bUW4?k4&NZyf* zz`F`$GANy}SH+s})gQD)WS<2br*G^MN3*KLNfXiF7DoS7 zLoe2Ugjjm}=3@Eb#z`}nm^B=rzoe}0sb^9m5Qw`Wje#0ZAW++10#E@Rue~+4O1lyM zuJOMq5iSY!+_8wacLbdXJMe<&ZwhhP>(aU5v^l`i8-0+QtVm4O(JSSg3&adW=g4eS-Z~(k%^FfTJQ)Cqt$Ab-S2G1 zD=fQ`((O?llMvw5`B{u+rFT^~kGGQea>QF3Pml00>%5Su+iL%9f7)K;FU)`S0{pqu7^=)? z{}r`kIFR{j0UTB9F7s`{MYVUn7x`id87?uI862?ac8KGfu!7c3h4#@i_fEss+Np+D zB`hu&bv$@5u8h2349s@6tD$f;iO*~r?-P2Tp{irvx8f?}Humlxj#>HixFpHtf3X^{ z>>7>!Sh!U~kM6Z%vcSdQlA2-|0p=7`51yBzfc=`AY5UJ_&L>-K@wM(pyUYFGUlN+1 z)q5^5#7Tq@%K?sJG1KT1-qV)|19T+z8k0=$q(pMupgW#iO=5PxkFwfJmWH^_Vs` zQK_k1Ha0fb4j7FY&F&*}B;2H}gna9~JwB(amT)5zVan@&nAB*gX=B6(of0lW3J$y> z*M}E&rvJ(V2rP5?p;n!duI}w192|AU>I8L(cX6p)i4aIsYUDNdrk~`{;Bv$9={Na+ zTEY@}6?T!0n&a!nu(P{>c*SUQ8pLfo^G5g8F7+#L$JWMY;V3xuuYVGyyikaG zE&-w&&FtD6V~V-O&|p~1AUOij8PnO>St>+T0Ou)`zNI?liZ1 zgx}y1=*6;+<1$Kmz)iq;p&{XQ0l1K1ji+uQ_I5a}*&ElwXJl)QwK7?_77hyc7|qxl zb;icVGLbz~F@P=W`<@+IX;iA`$d^4Gg9^l}UD&+(`4zA;x*NNitIld_k#pycGu4`_ zG^b7!i0*bLA1XynMl<8oB}Val&E}6x=88Fyx!mZk`xG!ZvsL8OEW>B@<@*e*qfE_u zP+BD*tB+r-uuV}zYdQZa8U0TvgYRPIQ(!Zn`hU&9LM07;Y-cZznD`k1GUTYQl_O8? zd476eRCRaAvOU=Q88Ktls!q^gZG&DDhAFfx;WIy@#mdD;0teaVc2n!)4*S&RABT;7}FYDT; z<TRBW<+`3%%}Cr24ieHtxCWKB7Dw4RARmKf1x%8uw($X1|1%yDrWOv)k+cv40Da_H5C5#U9>LPN%U+L)OavV# za)RZwVV6Eb<-yk1*Jm@SyD7O?f0hQH6DaoH7KzzOJZwUUoAy-2Vp=>&99Qh$$^Lmn zB$H+PnxjlOVm3mQ3ot^LorJvA8xLRT{@w5;+YVPd$GnSbk($hwYYv3%pHjJD(C|OK z4Ro`(rdht<51vP6H$%c~Y!OMT(obR|(axbHg zHSNU{Ou3Zx=lf$;NTU?tWRYc8iqY;AVT-|~KIrpahVnV>(9?rm5>IM|Y2OL^GTS{{ zy~YFr%;z)&1{knNIgKO4vDDudFa& z<#i+zsy5O8UWsOTq{;6yzir*iE^|#@k$lhY$(k~cP2+s6f;iXZ{%^ZLFZuGE&eVIB zFPr@R9tYX^j@Yg>ETUt}u2lPRKbK^FRQYfx@za6H`BA)~YoFA1Rnut~RfXMzwvflh z(;JxN0=y8>-`}wyg3j3|Cp$fj6Zh=LHCa?rZ?xMjwA=k%{zRqX@B)CK96C9CNvbP$ zUg*(`&nos;-CnF2)s5Gw+6$M(!3=^8ch-Iw`XCpvF{O|qU8rDFG-hl!QXKmOmQMkU;n#Cqf z#;GY#DTkUv%fngv^V^H>T*3==Yt&J@b*iS^lkc6((p&7U43*hW@Vkh;35HYqD!;q0 z=Dt47Nh|Dn^;BoouYNDikzyeL>$3T%Sw#EmHu`wclOH5y>&cFi2MjNsj^5p|Bf`2& zM8^?vHgn#dXq9U7^0S!zpoIXCvPSIn&$pfko&}OArstpb{ZgHn`Q1#2+Tz0Z#eT}A zCl<-wG#Oan)%BG%EvCqzN*=YN=_fubV#2YBlU2Kz!-vjix9QSqg^lwTbG&S*T}f=w z#HYkkwU$Y{k_P_ocQQ=Z&#*4bzbNkMhmhE!UO0f1q4&{T@j|5tka+)O9AuO2E z{pjvL|MhrmlH=QE=ET_&0mgK;&=jH% zL2#aWM?PQ%^?839tX26jk4WN=BFbZWF>6m@bl4JqHTg1J11nEvdfi$=6El)4{u3QF z60UY&dIM_yT5#!`A4?V&R=)_T_uiV`&B-eQ=7V=N;w9}84hMQfks!FDUTksq$I?L0 z12fC}#$L-gIjJS5Rr_x%#;G{WPkx4SEBbq$?u{UGx{?yd68+M6B#6&{XC=Dj=M;*! zs&|Q@!yZOuxC9%wZT|3V-l0lcHB7XWg4! z#;4_aV?gm0!Hw!!_39AUKebARM3knnsjx1{63f2a)R`(`&@FOcST33wY*s5N(Ccht zG+tOv>%G5ZiYd%ldtL89cQ6MKri}CUzOzfIKPiX*5F{qFy}Ru_N( zL}qFtRtAw*V6fX0@J&i;EqU2DFYk?5Ghud4Zt{@x(SiDuZRpE?Z537$#|O~LcVmz& zOH{X3bG*`ymD+!q-jI?*_wiYfp-Rf|m}3U9Z=VH%I&az8RK#Bj*{N4PN3!^isloez z|KJKaR6iqgBgI9dK-=t1duG^iW)i2Ahut*a3p2-`ZOxMdED;8po! zowrf@p3cHvdmwamRUdy^%m9(hmeAbXvTVlAmc*&kO9ny3tM71w8`W^}>5)}8Ctygf z3qSwvC)&=Xaf|^RC{ZK5a;XVXY*3|a{9>88yncVJyeF=%&Mo>*adq>FT{s2Nva#np zxu;d%%^kZ2nRqTE$%AGmvhT}$sExj;ow@zhPG%-|t(0|r&pi9YDh#R|P$iZ$hshD_5B^}S@rMjK+qzC~M+W1E*=Z!3b|)h?!QH2of1OiTV%Zqnr2DB(C+p@#L4i1idX z*B+hY+u*f*MB|76Jh7|nU5M8nl$XY@_mws7mAl86mZMgHlueQ_at+QMUuu;1szw%$ zl`9=PIt)nHy06~>%vB%(OqX5dVdf`7kNz~=U1tJ1o$3qAFME8*EbsmQ)=vgZvJq>G0OIzhqT4(h z^^Owkgs!EcEw0dMQfOSz&4b%I;8f>%?)VTgXlqEyzl(N&==OUs0A1*7OczowDI{wc zB1THMWO{e(Q^Qeo^__bn%Bbwe%LSf~WZzA+&8(91Ji0qOpt-3vZ11?%rQ2(W|6Q8A zS|e5%uYe-M&= z&pTNZkC|5T@S`_yf1E^w!+ExUF#o%BeUtJw626raZyY7)vT&b&AyS6U>0NtXtef;K zs@Z%JFbF_Qw2&wI zuR2gKi)kSdecCK-2@R&3ND=nv$m`3p_?7-hz0Q3-o$~Ju7_3;hSKtKKIFN&@qJO`(|=zaRAva7T6DF~RxdpfcIFMm zC4eNh|2B~$`p^o4%zAw;vFmH5^tHMBuT38JY)5@l$vR&v*xzpgazuP50IAc)b zoHOY*Vw7Y2_8DeJdo(LDRm8iQ;9gOp@fXZn-dC4qeD6$-)qA=iD8~s{`C?LeTrB@T zs=fj&s;+Ar5QR~s8>yi|Ksuyj=uVMRI;5n#8DNMZ1*JO$q#J{f?iLi0?(Y8_-}il< z@4v2djUzhD+54=u?)%plu+IRon5p%8x|LOAYo|6q`zrM)>&%mF=8C*B#NMLY-PFWgo4 z(k6#wqluFZ6e)+4VRt@PXR}mPvX|}iUz(*Ou#+*p?uEtO@=)!pV39Y zWy$>@eX!{9NT<_H_+!ab*_S!F4}5Mv$=_o)!}d@{izyn{w0xuXCH(PV-{~!n*Up)< z_fom3p|ph^W7W8FH>j71^bCJe$layY%y$^~qWJ()2K|;lx<8o1NEk5Jp16NPvx7`STpwnah(c zvl~(}aR-_%w8#y7%Bw%I6)|Y#Npk zK&Q~&SXpfHgs^kf&zUcosVza+7n|L9f<~;e0(RePtn>ed6n#7`_?}}~EOhcs{9VoT zsLvVoGYQwSz`|5R&C(abv(jg39tMZyS)w-sJdA<9$9K1CKVG&rDoeo{`g7{4Rj+g| zF#<=o<;Wa*8$o@Wopk4)Kjl}BI~wpH|5P^Q=l`~4#gDO=A7^#h1x%liZB11sa~L&; zE(j#YbA8y8*u>{P#0Izd0-y*JYyGFrU|BY3vBe|$w%|o7Qve{W{%myy-Fv0=6>9D} zm&m34D2%^t;ITc+RX3vhWiw<)a5POrkyCZ$g}S-s!>=3~>!>HMm` zapnptQ5RaPQwqn+;o4K02@^XM+nsq*`;zkarmA~ur`e)9*99-AYgYaQ61NrIt_;-LjH87k=G1)lZ5H*c&W6(Y`q7shuwO#WvDTg= zoBz{4DSiy3ML3-Q0Bn9u;E>GNvjc!Ia+v@;k}oLtR<`4*A|Qx7mi+X>ai|?EvBOw{ zPOY)rj9SIjlHx~MT;Eb8SzC`cDi9FN%}T=>K3z*uQkmgoe>fGx;!V`J*WiR*%OzPz zuyygyTJ&OZE*E6X(Cyjs3@ zah`RDbv|c6yK_qUd;s!e&a%i4=Uy1%lwo6bcGd+TGw+>VoV~#DPy@czAR~BF!pFs+ zf4U-G=bpe_8Y1WiXAxPPs!zgYT;k$)gXSIH74?dp{^pF7YK*x=4J*NjmL>BlKS_Wo z-k6;J_NV%98z7V*TyR=Cp#RuYye-;${x=C=tH9ff;ed40gK3ih_9G5kOpO9XBAdz5 z=I31saWyC`Q5mP zOB5p3@s0|menM|+G1_OcNH*I~znB~g8$G;j;TcW>D+t!3?<84F{7;fO^(VH1*;DK1 z%<5!QWwQcqFa9*RW$9d%H%ZX0#8N)bH@UmzwqI9&3w6tWQFO~>@p9PxVMB%#%JPY$Z%OmkTB=(@sUl?1yf#?IN1{Y&o6j7}l^HRqmyu(;vq5TWS-whY4YR7cbI0RO z*|>|yx+t&f!Be-Ks{*LGsZoIZd!J2-w_3yV7vhcjKwlWBe1j zt+R6K3Y6S()ztcihNme?FV8+nbtkHc%{~=y)q2gxqe&U}d{$8f^sZTg=j{4RlEe;VQq`xYqPaO=KcrtBV+4JUb7WAG!2x5SeS6k` z_zljhj8oc)Wu0iE_Dw8#_NlQ~Y}dy)XwsC|;4<^ZL`mYT$>iNK$=&Tbtz^LMQI^F- zu?9ex?;TZB%{4jwluEnVEVGRCh#}`2Xgh9dHtI6_645W}vGgWbN%Tq0>u*sEDF+x2 z3vZU_eAbJG>-O5nRC?F%ZcJ}3!vW0)wm+SL(#$9u6%Bt*>$4WG>M?+Q>}nc<93aBx0~m)$<>2PxInFuk!VJUfh6QW7jVsKr)lFZer2h zlmbrM>31D`@s-v5=~fyd6mgd^TXfYoS)wIZD0%F6KyM@U)Dl=h$@o2#8Z$^wCkvni^~O^AXy}PgK?y0(eW);di#x zcAq`I4s0Us(vscL^I5B`v@=Py(p#4!%QQZp`t@z8x>1@@R)-WNjE8O^8RokkUxm`+ zM<3drNDwXdXx>RmRqS@`iKX40&R0rxoA!UYmvLD!e3He!;abxus^0KJy2xYXE&~Yh zCt3WgH)?_LNIg_kbWMZ6|4+9Bnd8IFyK}=8$(c8eEiX?Z#IL(1jUyZk6Bx{E(dY&I z#)PZ&IgEbrknt6d%xb6x=~s~j2Vr|cj<2Q$INT;gQGHIgS(>Q}GTZI$r+9y^^uu|6 z=N#$Em{&J2VFRfPShfihZ63}iew<#r{;|%_w!lYJ^~1BS(6^_i!~SoI+tGd2%1<8{ zsM>c-EzOIuO>BPDqQ;>TVRmf4C>+QVH^F`)!dz!Nnb0EakwVOF@a~2fvXch@>-2j16_`zl6Mtg#4ifY8*3{J$T55Uxf zqXBjEgAs8i{;Yc=;~_5v&&W}^$B&0(FPB^sA-)x7!wx@>MNPwEw)@skJAO|*0#mJu z@L@c-ghbJ$RxUx+UB3md2h<#4821meOOTYfd;QVG!SdV&$6mE5;d z!0>!GONu_*x@4=5v>RRm7@o{@=kdDo0sCni^~o#mk%7ko3#KW4wrzNHuy+!L<%(Vr zh}(YQ9opo8tzRDhs|A>ETiW)4lqzN4;AWgoKB_gzTD5bOZlpDEHE(pYppt(m{&N zHaiGeo4}uA!3TfK8?^PAFX>RtX3>g@ij=%z;pXP%GOlKT2ALU<{WswCqB(Zl)DL7l z7cg%u<}s~o`a^!?HmRfctwO2#Az8m|Q>~Qm)lLK0QIhAmVn1D+$glTx=Au^9l}47s zLS@B2K_QFX$y}!SgVyZDNyyc;9?i^vIs%uO6IH7FFhOl-4WFBFt#Nb{9iO>(IQ8@A z&*-)qw*0bI{F{f-wa3R*!t%YO#Cnn6|Gg(T+Ft8XEQI9bE~YCgbA1jFC`WNBMOpsd z3oQwlw0T4F6ATfzJUBZTz3T|ojFMu>ES+O*ebL|FHqO=t(#%SeS8Hsfx*Iz(MQ~Av z!J2i4-n`9cv}W4AhTCqaXx-=SsEpPFLmbr**J5H^?r{8v*Fyi$3;Kk>2WI3Pl`k7O zOh1+CR@es1X4H9(%91489j#Du+cH~cIa|B^NYAjonKNK)1MC)`Huvu2c6ye}?dkC_ zqXl0cmocr`k7~2>DVFKIhg7i=7ntiy9X0($9utk)cRy%-yGc##g5LCPI-lL2m-t3aE~_%u^#EB^hR1%( z#yfaOc64+!I3+=dj=P@{=wMWkD8l^j4$y1#ci;5=KgtMdodVIBn&}_1&a4(h#HRZ$ zEt=ZzSfkT&!F5~(42o}UZF7mFU}tpT8c)N6G4U%+T#3$?Xu?f&V{Hd*46=^w;4YZ^ z=ukq_S@}>W3#YVOyY$<#^!HM|>;KXfHcw@cnyS09Jd_WG## zp43>q_=f!2;7f!qSx*$WfY>jf%OBFt~I#x-G?N4`K&@D3Pgr6 z=(sqDnsP_$(_k-sm(GQBAT&>W!V?>!Zmv9T*GYmrSoBy*PUEp+4QTP$H#U`sKEM4;_B#ZHfU4U_J{g?^a+H*bN*0Y? z0_`UwiU!^W6|AWvce3FB;q33&84R(@gdw{rfS^b`zjUd_x$xrSj-7stt!>2(7 zt~*S1^W!**;hN{D_n<4lc+C$I7+Aj%3iMliPeM*r7$|&;BDz=k<|iw6uGr9Mp4@6> z%WlH;#gWe{u}n>yoh_o3Xmc?VTLzf7w5w|SqSYuuNM zdxF#{)9Wvz6qe5rc0+q8?LkE5XGAB{O(z$pc$8|4?`nH{x%JWF;&7GQ<+r@o_Nbg6 zCC7FT1s>UOmN+NqD<1@%r7q5vLvX&26)4^NMRgihco0fRHtu;(P!tl60$Img{zN?* zZN2}?w(0F!3Rq*ZXd)8~sBWd(^OZPxeZ}7CK#T$V0bG}X4}s|Nz|~2E8ijZudGHM1 z2^t^O3qQ{6k`9;8TxcrL`)KUaL+K%?dh;`a+8mhcF>vXJ$13*HYwt%J10y5sMjX9b zG6bW4Su!Nw^Wc}u_6%2=kX_0XK_>|+&t=q&sk$=lQf-9-TrZ_m82#!o8ISqeP)0B( z^*gO-?a*Ghc3HdM6}Y(hyE}%0+xFO+kAJKJFR0OFRq;i&O92h}2;bPjM2Qx+%LMbr zSktF+BfzTFq^d&Iz@(})2F~{arPSY(dM3$@=bm!p0-LAXi!FK=CxEXhggqphNRJ|7 zE1bgVP@gXHtbSeNI?Ejy7oB*u*CGDx+nR#;*YkaktJ59sH*>rS%F5bnzy45YAavul zG0$4!p=OPdZ~q#ilNw5v9WH6W^+69IhRErR+1Mv5HOY`vdF}-{>#P-IZKY`?gIPBs zfyZjd6uYll{y+0dLjxGYz0W;~ZUiTk$_dM%?e$&?D7?#wG5OOc;! z3%&ijB{f?D_2fu4nz-+PfGMfbef!)wGA=IFD$7roRrC;keYo{e@ti`?G;jgX&?Qlb zj_bqda)E zd-}I2Pgx(1^Nry_R|13X-4|%6vztzdB4U-#6!A(@!)2!aXrKc&DC~PL@bOT(jOYSz zkuuC-MwN8=9I3F0#uksA1dTix%Y%KpqZIbT5osKSjJdkWr582k3eIU2#-CvI4vU+| zZwI0|P2^QP>U1j%N-%NK9nqP&FT11V5>X)W63m#(KYzdDGF!j~Ow*3x87x=QG;~D% zNI9@%tX23wGdKVP;@+%#=&gQ;1S@n!j)K2;uFlTl^Z7vnog8-DmL$1)){MSalL|%9 zyO4DmnVZRgTQ7!@7|Q3myF;mJ1$xq$p*L;^xxWXH(v`+-n;PcjFNMFvGi1R`R=v|5p^T`ot$vM}-N147WUFrh(!mzG{eR}$N7jAq7H_t&mPM?N+QK8LNS z15pULB!MW(Wz8%UUxA4(X)aSsBO@SE5^xkF@Vj%`q#tk%i-nnLR&QL5AbB}h9;u#E zMGG&K1bK;Am%{Ye#d`f?uSiX4m`YT;ls}gVPxi(7?Ul|~>M^9+^?u0H7d0~APKLYd zqd4*hQm^do%V~%xkO;W1Of9|g5k!jNE6dF=ZeQ_5okf2NAxE9|OhT78U1)SJHLfX>we_xL zGHg@}o`G9FWQ@Smm3Sed&B<*B5J9iUU5E8$}jh!XJ;d`FKn& zlEvsR6e!WHlC9C!jA*TpsBMe^%w0>Zjds0>-+xpF#+yOL?^?XQ)L}9i`edY|1AoU! z8a&pZjQ34|ER5agvioF9b-d5Y3cg$!`IW=0xFQ?afG9zyZupnK=krFMY$$b?^ zcZIn6!}d{+|DY>y;YA@@AIf)9qm{rBq`Uh+zm#@Cn#rci^weZGC`Dalz%65NDG5sH z{8Opc_grraOF7|;OvSRrZV;J!WPU3o`OJCqZuv@cIk692ak5QYO-d7`Axpqy(JjD0WHG)3q-kCjp91oVYq!p1&X^#ue#@6oV%5QwZ!yLb97CQfUut+3u0*)c|Ecn!jGq zLzZJDK3NX_Udsw__wIAp7;WYLZ}<&FFINKMhuc|fW)TA_CzQ@Ggc(j~=8A; z>&R^W6Ai%2^ge(q6;(>dqrT`^a0D#l7O(}2-jN(`?+NC~s?a|fDB}ffJP*6^y70;H zs-y5xn196GMaNWHf{_GCYspOi+J5mw+gE~P}Hj>NM-8!7qlM;T=_hWQmr^#>R* z7ba*$su>9YsuiLHk|V|oRX%Z&R(|-e0mygO0B&sHzP0XYKp?RwRjn~+WpFe#9A{m1 zOh_i(&JYAg$j7)>uoJsPu=Ap77HLEzfxlD@%@Z?Zsk-vCmo83llVCm(OHbvW*|z{^ zzt!hhR0XmCaE8bF)<2ozY0Y4AAs_aK9kR&o;gNBgw3mNJ84)4qO=QB!Bl8N14^)Ay z2XxqCQu&|10tu8#q|@v_PZTK;2sNYMhEB&bqK|Y!H~tLrrp*r}=0?Jl!?E09xb<}y zP;P+9cj-PhzMdtVup9s=w0P0s6JUlP5m*Cu`$Wj)tId6o6nh>0dEu$!nt}e07sxPk zAF|Q}pBB#H_|51I4ZgC6P}kC9(I*`r#g+q3NL51Z8hw|W%R z*eH1MJ5lX}DvM5O(o@66kO8{OjTwL+x?a;tet2m6BF>9V2p90XKl=Ae&*qrE)8rna`BMEpR z*SfqA&0mLl08CoWq8#wD+CQp5!wv!Ug6y+Qp|{FfXf@Kf-^_j#CTQSAsM zdh92K<_jv5Ug#xbXOxT=r50=*r>E~tV$ni3GOWvLx>u4h4KRJMoOqnJaVp^aC&p}}a~^m` z9`H=)0Y;L1xZ2=6mEp;{Mj6rw915CAkgkSC(v+64+GO)lSlD)%KYSab#7 z_gzmuotMV>$1^{JeospC_91>16jg?uk&)40^n_4M+8PlR8w;-seT(OgM|O8}W&(N# zXoWuqli5X(Y2?A6L3&Uba5{;N1C1{j&V-&V;*&8oepgxWus0!)zyt#Bs z6M9={KU*W~=DRadl1Rv=t1Qb7Z9dqZ{lslG^n~Gw>+Zq}05nKy;jkz~_eWVO1vE>h z{i&CZeSkR4Sok39RthF&wkyZQ|8*Bka==C9XH|%?ZsugvrT`~(8vEl z7rQ+-BjdG>Po%!NJV^xcpvloS@ZTu-Spk@9L7TT6_*Iyw6R(t2RqNpm4;GbERcSUy z5Cm{nBwp@M0Nu?2VT(^f!W1WR2$vHCd05F99R4_k)`0Yv2M`{0Zsf=TqI!Y}p4Y&t zaycx1=PI}aNEpc-J@S8p<4ght0gQ>LdBqv{8F!~eq>lmLf#)3jsA z3&~fd(Uk3ehebB?b37utL$g59-;KB-s@L=S+!;JdOF~(e+_jO;=meUFGoOnss}1fW z)w&LPra%WgJe(jh9?RZVucIf40Nf}{I?2k}{NHgSfpI_I6`oc`GX@OoHv<~*z0y9E z=umF&!|mOcJ>AcA=`(~Znld-yc~sIZaZeUA(E(!pw78{MAYY}yZh9zFqS5wWYrzF6 zDi-hnHE}Tudf~kG6AdjZvCp+do1Mt%$o%q*Dh&7}7p3$8xBlIqIy{1M{~@9LD0+v|brLhj`K~E10+XUep}#jsp)w=$9*_<`+f;^~cR` zUZ2#&ZnWDk50y6N8$Qz1J^cVfjta~@Cg;VSU=Pi~UIql>2$~qh9?S2X5eRwNZh3$`CI{Nq9y}ta&2e}QD6MPf*&U(E#R5K5 zs@E%%WqOpK>Cok`Da3p3?hgAoU4DIqTmX1}b9f)R0@lYAQ|h&PI(Kw0D}W>LyF5m| znXeb34eZ3sLBjq80e41#$_=#)*ChsGp#6~PcCqMJERdsi`;fsU{eVRyH?)*sZBT5k zN)mf}Newwl!A#KV07G)o(n^ALY4Z(^9`G=Uy0>epWTM`+A^>Y}*kXeoT90H)mhS!< z$&tQq^KH&+r6*2r+7Zy0zX8v_@8ud~41~4jcEJ6qYO%*Fp?M!)Vt0(po<>mns|V1C z{MuvFt0bjTBzOY+`4liVE?+7fdej#D^Yy$q?L6i-T3K>r%>QMp&w;?=-htNWkMAVi z`MwwPpu~8wnPte8iDok(-1-xPQmXLKd;T}+gdE!PvU2YKUCA^ahceb>(V{(WtBfXL zV^m6IPdslF1iL<2j9X=uK(9zRjkQPZ7EOHECzFg}+?Vc6?*SoBze*i&odd-|8UsGO z#O92*F%Kv@t!Y%OX_Q;P!`}*C8wIKPfaAu>&%Rw7D&g(+yE-kIHmJ4!DL*O4OIP_3 z2w}y-;Tghi39r9JmB3|Xh`~ikKKGeVR&n^G2Tb}lw?R>eO!p%|+vsY<&QW6`4P z^-$2|TH|O0#SVMv+Krxyq@&wQpdi2Q%s1%$YPW>{?pafBq&s>O_+E+rpP2zy_=p#H zo0ZXW7;#yVcqe824hzgZvDB%5INS1toumf1pxh2WYGkRr*J(?%TIw&a%G!J;Nm}aP z%qv!Y5VE*h%X;)RKSw$oUWDBuo+Xl&yGv;+4J8uPt2E5%wrx5Xq~Ug$sgfM&nw(sK z_=AVNLI@ap3zSl|YiZHtWyEf8ul6>Nd#HSrn?3e8gx>yfCC9eug=PV0n(U{}xB<`yfS~=A-4`tAN(_a7Hsv?Kf%Roqa!Ql|!c+j5m&14p?ZaQ^07Mu(;Bl5X5CyaUV}Zo8>+&30ce@a#9rV9#fqQBF|^?+)5-+h97)@;0&= zT5iJ8d|v!2Hq=%<+;8wDg>-=XC?~(jMxy*1cCV>XVcds`f5|9d`RDc(2Bk_Bmbgj_ z5V+@}j`p#hdF$b@_~9Q4M`k1@8g4Fi9Od(r&mJoKt_>9>k%-Hcqu+gWqCThE8iwxt zJa7bZK)gZ*COUo(1Dm-EkB=Q`nUOBJ@Mfke2jAF+-c$gscq1x;GM(tDzPc>mucKfX z5JCbYTzR+fFfHkxZ&hScC89t=0fo@5KDIhTZ>j-A6ld*JAC;pv9?m43^CU4>5sCf0sAPV2f|;{yi}1q%^S!$8@I!Jy$Ugh z0sTr(j27RH(>-B}O>IdML-vPwNCZ5coRIpXW&-UY?I2l6`QRq)}|fE;T7|Nocvp06C8eMpLx{w z(xM}oUohxN0gRUeWW2KJNAZDSn7|NnEsdA_Z?t#nnX){kRBsNWpBlI7|L{Fh zDLI(Xit5~5Y_a&2uTZ-Cla7c@5dbmmo(;gRi zIE9smGs^yaHGI4|oeEG#?`;%&ZF3Q~&7|yX@jrpDsPdC$27y~~@2Q~Swgu@*`Bxb4 zw*zy}rFz>*ML^U490^`or^jVP^K=Sl?glKgpNo#XZTTn&@C&-Y32XDh5ojt(E?Jr| zWz$uEGE$-uWZxtYcD7KI>3KBnL=?uGef2#d0}nyBOFcpm)93F`$^r3^Z5*AGC=6^$0DX0QU!7kd=( zBn5py1w{h^x6GI2K%EdAj^{G_%@NNAa>hr%H^1r{P>}C50G?pWTn`1Qj{&LF2i!3Im7M`uzr?X04%%IAO?UBUqQp4Pw1Bgf;#SQU-J1}oJ^Zgn(;a;=s&%|vKr%7Af&8ABpLWLh;p%rGAtyks zo{(dG%zN6^^ma{CaJJM!>Et437C=q&?V0MDjZed0Pxw68J^*r4M7ODC{5m~gu5mZE zOMlLA$@i+_>$h(u3BtSILnlgKjN9Ch?)?b94{iZwxvpHw4oc)C$C!35QhA>eoL07k zfkT<#W;ZQ77y~hi5FD<$})%zxMoSjrdR5GjPtYBd9KcG4VT#2`0nR3h`fSRph z-pAH_h5RJllF|~_#v`dB&P10YTnDuic4Q zs^X;#&+@NwS&60nN11B_X<9}dXA5uR>WHNrLEqCPAfxprVpf-UNW%J?o?puI>agR1 zVtRHl36W74uOl>1EMb&SQT@GA0Ag#Hmln4!xNcoRt@s$N(4T`2x-x3kqluYmkOZ!} zQ2r|A_W&10e#7x%;iVo+jd#b9dCdqsrw*4Oz8h|%tIo6$f&}&!uJP*mF`gtd9an`u8^JJ;4NORpifrAV2gpty{Ci1?%T}gKupEQJ)q~_3=@IJ zOyAw;72wmwyx?gwjmTv!oYy)kwRM^s+DGoa5CqkI|gWB=!u)wZ)A zN_lY*KxH0A}NjSKF zTt}qU!e~gxTs;K#Cn+)USE$yV?v+;&ku@)7)NY=Na%JLfE{rncRL8;RL&kBy&FySJ9EJKkR!* zOo}lYGwr`c5ovz1R4FQct}^pk=rWu!owQ_9M22wXD}(?{-mz##o*dbrPa5SO998(T-9-OrPjhY{Rvy4Uyg75Dtpe! z`!JD2t2B%V>MSVhnA>AQvbHvYb74q)pa8(y+VFmD0RgHW04uI@XdXK!J%{jpRNoim zyw>Vb+MgDh-m>LXE2nYi!_ZzaJhS*tSTvWjP9GCHhNyhJ#qU(}j9`8CQ_=QZUH^VL zz~ym&nZjYNsSkJ3IbzJ}(nEUUs8b{QQ%QJ@$2gCWlF3&52&>Xu@6mWR)BIZvWyZk&g zoHJSTP#W9(tNLz$PW)^@2gEu4z67`y{`hazgf#G07S_%sCASPHBXuddX7!f2M(33o zFJaepp_)g3Gf$JRWnN$m0ystkpaCNrK3pGdzWz<3nBS$~R4S7i6;acpAj*J!N4+EM zL=7dca1@O3M+TKKM#q%zG#Z@xQ`lX0HgzO1EMzdDXzEJuPwBaBKU4kr?gI!)6qz2| zckS5F+a2NXk4VI2Qxpkj<#kBbC9{mjV%1`SQVUhlMFN}E5Fuq<9j2O}t-#lLi~bZy zdLb>jrc%h%luhkHbVGDHG*3XvHv<3;3cwD3U>>*uqkD;;-7AkAO(F4rN3vL^$0=z> zsuvv-lWaMd9yUv%Y9)u}*mjb#eAZ?O&zHSqjzNbeqkO-|Ydp%PI}v0&rG&5GZeTqjJ{c{CcWD#+2oD11egIZ+xS7Ii`E0Sp zv`drlH%7EqM{=Yc?6_?o>mNh&TFApHq4}qd@YHvYZkwY@FY9ba;{d6?QGd{Hx7b`z z+`mo!xa1;?Jdv3Tf1sOlUniPovRS{yK|~hz(eXYNm`e=EI`dhn3SXfEmK&VWi}aIfj9F zM?e%E4$FogzxLY^S4r~uvr$BeMw5FecD2n@qW3WqLHT@&mV2|ug`^K&O|v}dxydrA ztW0q0l-b~F!yZGS5eKJoopyq8a{oH}44y}Dv6iJ*(tp{+E3T!K>OO5Wm(g1sxBInm zStIAQEQ57(rN;Z|m(8{ARI$@?BEOa@V=N8NGNE}$k9%=I9FYgtWR0o+|Ix*v*ut8& zM2tH8{gQQ6=z`R7-w8VBmTnckSpA-?gQ5R7Xux8~`y4xN3R4%0XX=9oUrBoCFlXovx~5J5^=oqKR$$E+qy=}OTJ-Q zaj~MXebm61=bz!-rEXG&*W*dP^wPtIeQ@riaiV*|H@DY%eWx=7T=%2}IBY5gsPY@Z zw@|tz(w_{0L#exC+J2F>kdHkd2EU{GUv4lFeS7!r-MW4^n4|VS+0->A_G1dthR`!H zm95KOXYg35f@fvDdJR~e9_moWa&cs^!6zaW^zmu?iQGqZbFsTm#;1Lb84~aolj{tk zcFD&Z-zzEk4I$|wq({n6&sP-7Cp^Bpi;~zZ4o_CHn@|fb!xtu^!ypids+o009an72 zW$fH}x^;Ab-P-#5&yD;;qv*0S_RZXG)9?r|M4&C?0#hV;lvT7^aB`JITCWC-LEb?nTIOXo2;VhGa$D{HzN$ByG0>0<_ zgjy4&I!eI9A^Kh-R6mHB-8BNJI?A$2{pwtRyZ2iXHX63z1&)LdyX)sjh5i15BhHKH zly9#6+2xsS19_G(TKiJEN4}FAOcGm`tusR;v|8Ew6ck(lLQnRGOnYT9l zp8KXcJ~1#fr1CN#x5i4enCiYhBx3E|p8fQgGZmWmN;^d?9-3Fs5I2+<$O0C>eB&R1 z;P0z0>$=n|w0ezS1&Mr)L z$Bj-hqtBkDWB&PWWEV)xqA3G*?A;hI!uiAdBpO{=js_RW#YG#0)2Pyr*X6-%R;b)X zokW*_0-1>doZ;mg0TMeMGY22+91K zUVGXzW7338P8O=9ur`O zdFQd`hO+>Et(56^I!pM-q|qrSiB;#jzeMA&K!|dt$P2fL$){?WBBk@?Q#bs}5J42k zyLS>aP&yu4<<@FR7j|JrSTcDoxL77Z1J?9N#jPbskYdv85VNq>c47k9Oakw<*3}R+ zx;#$kieQ=`B)ix0$J5;j^NF~>p#dNRUsvgr=_+&u-w)w|$W`ADvYW0{0835)5*vF0 z4aP$vc=4<5fn(k0+PaCMJmr|MJ3bK;nz(iH1)yRJfC}ryw!Afd+D@jPu6b*ds29K> z)0+gnVfir>+rlbHF3)KyxrYdFRYnU_5+vMD^{WE$tb=muCTGEod`LPu;VA^1Qicmq zU^BW;8uhR6F}2OVhB!`Os6|`4pDxyod^DWgjg7<;K@|QSY&JMp#rU;E2{_~(-wFTM ze(b(|_%9ysd#fLNtxtQkOhR>|5VTELLd99=0Pkn|68`wDa0}Q_;&k5eiZEwu?O22z z4HGQ*J>6a0(ubr!dQ8sCjHcVo5Ff~e78He;d#a$I5FD}GxR&$cJqlI5jI7+%0?p`L zS>YM*jB`LfljJJI4?z!-aM4Uywu~hfL?!&hKPSqoDGM_pohZ?g<1lQ@?p*R%@~d%K z{oW}ML>DiCf(|%3r}cHNz=ZvTT+#h!B5E=c*U{U#5_3)NE38wDks zk7laPz@&iJlRTaN6so54&&wM{St{%j9iVyL z%iS>)tO*(fWYrPH3TKyFA0LJGn?@o`{4WX;O+%8T@`=afJF(DjFV?8R_5rJa&Qsm} z`t6$nxOsXR>h}yU=xiy#gi-n3@_w=F##r!#5BdL1)`FGlU_r(8fDj$zT&DAVZ=?H; zLE1C_R{VFze^ezV?w;xmeNZiFF|e&X{ic)^UQTjc3vcGgc-}wfww3e_f+S#R(<)L) z%y{lm>hQ7HFN{k=oxHH%p)~r)qx3A_%aYax`?TxxakT^{4+opmU(ttB;%ErpJ-SWfo4zZorF0<@B%&*K;*l?>C@qu|4o0 z^R+fwWsPd$3N+T}|1CB6n`QYQ=YJ*?q#lXDA!cV~4i)$7#sq4oTk&U6G zV*ccrQ#L*-5Ixz6*tFxH@3m@$V^gwT9ImBqPL}q4Q%e24=&?j3BR>W3K)y^SPJ<$m?~no)>3+vN_2j z4AV5{z2JQKzPTab&Y$5ks35V?JV}Gjh-1(tOouZ?!HP``gwI}^9*C|U3(gp*$iN){ zxN8?v-gf;hJ#hyY;$uG$Bm_EwreDcN23UUyl;RaUX}n0P1t!oO?e3ZyzD?c-|HHuk zvR+$?#{O(~vBu%Xn~ac}GmXbeS6sS{7ZZN(^2}p`@T*rP65&k_mp81nMn)+|#l+}* z{+-DkpLtg3d2RZd+4AhF?QUuqlP#&01W-{;45y!i9hZ9WU1n{IBXUZ}q!I zDkzLv{!_+Nw!8Q@ixq`%U-YV+=LYAdOt&H-M><^obbEF(eLp9K&rUaalbjU^K&rO} zj>&R&EJbQ?38N=8d0vYi-2Z{@#(=cEnf?}Si{LI$D(h`~`l6;6h`hgVaKz%9-L@1L zh25UiG179|LMdeA^C3Q;IE-2zY6eN${KO@r)#iUQCi5({%&V-=TH73~g_;~(#1X&F zE(F-f_p)#^3`Ns{cU+quVLuB0yRhwQo$2@r?cCSv;2X&*AVF-2&h2FgS47Vi%zo;O zy5a9<0iok=_F!OyKz+$8A+dt)X<;zEpLUXroSc?D){Vs%GG%!{9zz7eIFNyvfda_U zrF2Ab^tvNGUGo#1C(k-*T_nw~ZTE~fX7eHx^QM#uL=I$zGkW32YhaUP^a?AxNzIj= znQCdV#oE4-q2H5bdaIv?#S&$sNy;wchQ+SR6;okR=JngNtM9)==rp@$ig;1oPJ6L&6Jb*JDzTgGo2GS%YfB1 zQ3&E$W{T#>ZCc;8Nct~lG)cCvwaw^vSf^iy0<%MxPOYjF9qh2_+UDifw(yeA)lJb?N+M% z;hAKl;qCx1N3OQM5E*X)a()^Yhl|728n1rhlTY@uH6=KfJ736N{{iz>U-y630IH2o z1%NP%Utc3P?|e=+lWj99*58qSp+1JYk8U>S*r1GY#*j|M1JqjXK|8lMOjtF$i+{noZ;WqA8+g3_o@zH^@K;`kKg|f**$==e2tcQp zds8`?fPPIxM(a+S;W?PjS9+@*yFF`h0=yf_PBE^4z~Lyq?Z%>$=l78ka1LJp<5qu0 zQ0or9n)+zMY1V_#Fd15iM8KisBIa;3Cc#~#se@6OdJo$f4sByamFBgb}U_WCuw7>6qHQ~m5yf;x=5%Pmfw z#0tZUL$ogKE$f};pY53TKi4_l)H2dF+V%?o#@$2S7s=(obe@$k^nM+{etbw zlxm)H@>HwhJud4Jni7+a_KKz%=L10VrT%F1d7ffi{aW_KG#vK7;uFUob$O`2D_%AX zY?%gTUbyU0E^CWqpesuP?!!_aq#7S+g?1Z-AjSJN5y7V0dkA=ZK&5dqz@?N@hca{w z$}Pc#BQUcwxgb69WGn*+s%)Ru29PT~aZ1&%zvXN7#A=pkG7#NgS2h2tzpjdyi=uX1 zDE{+}L>SZGfQQ%vYUbingWpHY){j|wO-?Fx?F z9Ww|a$j8M&L?@;I(jEwq3$Uk`hqTnTNIW-IEgrw34dpcM66uqTol2v^y6VB_|1efKXmcEfaC6(wMYy)Gz8$T zy)!-X2KR%Z_yqV+8wHlB;N{5T^>w&09f=&8HvlzWqVa)!kbFk&^aZ!^rnUb^*jt8G z6*XbQfFRv@C~1(CBO%>~kdW?f5JBmZkmgX*-Cc@wgGhIabeDj12)ujyJkR^R|Gs~E zygd8twPwxS_nMh|B0EU{|4CIp20+*_rOGtk#FO%HxSoPbTeEBC=v!8RA|dH5>2W}rq(ZRDxbZ03gAn*a zYl#3;O5WpR`85Lo`%T6rd8f|=M~0=zf#XKpeE zA5$Peko5?_^zi(1f}*FqKAp_B``*<$g*u0%{;z~1T6coSe!4`}^fGWN&i@8v!z)?y zOZjqDeI>s+4xkJ7tPLx-&!G#BV@+m}_~3J}!RG`6e@MI*`wYI%?O3XHkqF|nt;`-u zTkbC&1+j6uba7BZcy}T{S_Z(#Y9Nv9H{#KjMS2Q80wFv!C=poaFYDVD40t49@D5Ck zkM(~9yOqX9FBA)g3twk1kNd~5LT|ePTg-hOjGCIz8H`D)VO|0N&mU{Fc0GBb=1J_j ziu=4v7zqeziLL-s;T{Iy3UexGY1%w{1rU8$FCkq9urO#VCY)op z$cN*u9F#3Vqw{$4a6N!uW9Zmpqryi?qc?oOiwMe=ZUIT9PE8j{=`Mg67iyHM0)oQSyC?^$GY05#tEYNmo1C0t!r9K)P=)Td0@rda zwd(*>qVhbMi2fD7N2R!ldTkuicUHj8jI;`!MSJ@M~9J5WKfihaj1oNozB3%;|a3fVf!4%+0Oz(|EmS)MLPuip4a8! z-m6CGZ~|r3s9xBbDg#~M|K$p+=GIcohrEJ@Bm7&l;3U@xG zs7u)1q*fc+p8GghEH0>qBZt(*>|gQH|0M)jFiJl;Ym95ATr)m0nRB4!xV@Yj215HLm%YzmQSnjR zl@TLLmC-jCKqpzi__gzHsa|PZ5v%akU?N9((BLz_zp4NUk_EU*`6pCaDByeIT3ZbC zrSUsa4L=W|I!klBkd6#!B%vatmy0|9fkX^>Z;oO*k0nV@*3;8N_RcH+eO~|W5b<~O z5oH8p46SOT-%f<8@2<@PtmJqO2<7DDVgWu`UMo1V?0qcqT(7p|g0zn~Ry-CwDFkvj z8;PCZ(9Olh_km1rOLe2jc`dHLn0}0ehdKGQS*w(4Ri=@fpKXtvcAaiPP5*i@lC56= zyg*?C7Bzj);(naudN4PXbL}yZA@FS@gUjtO7V-YB*oNR~F0|g!c#ndjTvR0_hK$yI zXQZ6kfbJAOZ!ZX)kb#>!jxK+$JP>srypL}=M*uAkrLF=UXIDd6?HznBa8i>6`W z;_&yw$v7=o+X;d%Ut>uI^To~pwHgcgtuX*~TO2mNf9~`B0FQ}Q_}$}QXJTT%!+Gv5 zUtxApQ6uU~4SBDtz5K~)Hm!EpIGtZ*98LOVfevlj*EhM6RxZh+H{vEIt6en!N$G<; zd5ZPsUnOY3qY6Mpt3%!ZETyH*`$|yBdCt&XK8{XCgTbUoF*U;olLt&1yfW)SV}y1a z7>D*>&n&l1ev`#bgjGV0(!W^@&4%#m@ zt6E@P1o!;mQ1bupy)6QIP=xpwncg=ykiqxQp&_3+`;;+}# zj90uypo0BDc@wENlEjf7AvqAw9OFtVGX|#BS)d^Ztf4M=*Xxm7nGvXE{*2m4OZbaTWJnUkxG+E_hIE`Yc#cYk{^V;?pw zeNJchBF}0AK+jtN-NBk9$Ww)$f8zbUL9k%??}`b$osnUIo>tmG5a*8;L-m7GWH-qcWfUxxjcR8QFI$iGcfuoY!u%B=YX?+gRDt z=gaJiboA6PS}4A&PkP%)pv6F%W;C?`9WK#xxDMCCZdIGW^N9S8N(q55MOd}mRE#}oIkPw8uDuk zX>_vb7OBb;r{qs-MNd-^>{9ZF-`t+FLdRAXB>pxk1`Z9`IKCvIQ8o*S|{7v6w^fwV=oZm@aOJ}08S?0yxo6s zFsJE;JXwYNOt7byYnd;-`WKjN`t_EVQ~_+O0_+~VMK|)Os6(R^bdeKu*=-%h#}j#fbh~$xOgU zZR>bF{Jqg6OlkEzTfh&soNM*D`2ZHzzA&`QV8TYH`HYVr<&`ev zUX{RQEQ;N>J`F<$1^df3imiS`l4`rw+x%;iK&FE-F*2glL2NH+{BPkC+}t6gk=yzu z-_a-l4>w(*J2l?a@NVgIdU$w9bltv$Vsicd=!BymSkaYCIrfqR(MM-3h82d*QDmVY77Fk;%U_Zc(Ram|84xocVxo242Xna`k-4W_w@sQ zXQ;;HNO~*cDXwu(R`B}FwbRuM3slYG{331b&n$yK=akKDUW4sa(SUi3h}8(n&whLD z0J1>yt-(YGY5&)Zh%0EoyVGfsUoG(5;q|9Hk6-(7%LX+I?CFsvrX(ocw%_+G_^{f1 z2N*^JIEDhk@0q?PU(xO$V2eq4K z8LIrQjN|use|35~#3huJ0qlZqi(BRDl}Hq_T&GBYxO8t21%KF#6*83WGd@J}DLY;q zHvoB1BBb-UH3bRW6YWpImVbUppCtn1ldd3K7IJhCy43@9Y0#W*-qqj+(91@nsX1Km zIW7x7S1*G5(&)S`oX>{5w0hNA1yD>Za-M#(@|+e1JR=av5B=Kz7R>e;KjR%81qV{c z(9P}r_x(96;Ber9)nJ{c$cJx+zMrOB1fpEuGQ@#rgwUYgg%*xX^Tzk@pT1}a1+N_g zK+dr8Q8NZfkqleh62Z8l3=#EdoUStbl}ziwjy@kP&JY2A<}gnKAo}Egf)Y7@pV!H`bOVtfW=IA@QNAsUAdSx>z7YNUQd^* z*O+Z7c-BdwdIFxD(Q&!;`RtaU)+-s!OiG{I=QY6RmXWHRJmA}8{bRyMpLm}Q1G0{TTCOvILKAG%It&=l`YPR0!m1w zxG$UQ>=XOL!W2{_3yRrFJ^ri*F4X>NaJuh;< z46%X%V4n$>N1EkOl9J5JW#=&wX=^&9swgiSWGOr_S6HA-vq-m*?f39}%6d3f#QPGA zVc^wL5=dh{;fk^V@G&7O+lLMS>2ct_y+E`%UaE)taw{mT3RXri#TP5aNrmE+&XsFd za~cY|Yni1nG0^4Vnk`-UJ!;wxq>J7SBj)-&J}Ad|rLmM0a&3siXDapiQ$>Bf%JwF+ zf+RW82sXrborxhA>$KaS8cVMxmZEL(lNRi6S>*ky-(QFGfCH13;;Mc-u>apO9CskZ zoi=|F25%)+y1#IAlE&fl7iHhO=L>qCT9g8aWBxDCkThWIHH7E%8OUI;y_SshH1@sF z?D7t&}J27(CVRz9*K^Q&Z<}aovph6<(P1O5jbI&@#8oR zM8GU4fmKr>9PWMfJ3bHvbFi*l+j6hQ@&gD@eGD?#b-r}s7w(cr?L5EN)yFjIThuH2 z*5L5{4;V81s*E%POP6Z}BZb_KG{j~j;h@+{d`XI)60D7^ROM%H%F$$X+s)x^vlyNE z6hO|>qUJT1-v3?Xk%affif@8fGELt0>500U7CqQQ{i^vEtNw`ZB4I7R#1~_8MZ*t9 zLW@T(wHkgrdxq5Z#m7)8=WK86O2z`9X@y`GJhR>F!p`;6TYezeH&E?(Ntl55lZgIS z;0W9ZD{u%DVyb^*AV zbhvfd>JW-kH9mercoUoVyL13voCd!Y{9M&;YcKwU94#>n!PQ#s&vKo21CPUG&&gG^ zb+)(i`FidZ+u>uh_$6+QKZqMH!5)#UJ8ISPOQwI<7WIA)P2li81)jlpp@xV+o5jYj zU}xKi&Nb_aVbceh!auHu)6Zo>g;gTa>ic*1nEH4tzsHL`RM4hSSZDw{VGCweXDjvh zLvDw-I?lb!sT9RVpd>P|Z->bDXv~Pxzi2Kli?cs|Q2doIiwnecrB_R<2GnRYOO6Ad z8KboUhjBdpC3F>7XJNweNVuHptSqwk#&%49$Hl$>ZmEJoZc?@Qf(N+g~B zhzbQm*W& zD0EZ26?AG&Vc-+zC z(e}*W$;b@7KD*z%?$2i%WBe*USbkrjXMuWoYoGkT2RL9_8aC~gDqPD$Qz%#g`aj*s=ln+4v?5E*njqxXsnZfOp8lrdJS_ z%ks=`*2E$c7Q;;kT@QCC*Q(qE{=fG3*;4hs(k}mrCc3p(5%9P#kp`c{kV&|V*jeIp zbaN$xHF(UQE**>b^==6S5RS{Hn)CRKik$Y-2jC9l%XL0QKBvn+_>k?j{~Wv?AmTL8 z0kz5kd!-5$JQ)jO{wWGY;7Gf?qC6TM(6(3F14>_GN|N>jqC=s za!X%?|MU>DqJYX?3b8%$BdF9K;tRF!I2zX?A|ljOSmPEJFSn8{x5_j>oUBUN&ed1) z*iK3lr)L46WpgB5+v{q-Fss6jU$?r}v3h@q-TPQ1adx88UK^Z0US_-DHI;MYkMuJv zMOJV{7h6V$;|9oh+nPYWTPe7?KGk|GSKw z5IlD0?cqSqA~&UY0F*bZ6d6>*R*yR#wT$il+$q15?pbvg<@k+8Lx6!Bz;n0q_)v_D z1vYncBOOV@&^|_y^QzIA*d;k_gv`l1Jx;f%JmX!CR}rQKd$g~9_R|Eexw9HM&Q_%6 z)Bc-RX5I@|#gDMT$e*#64z;Ab^BT*F_V$>LJS3!G`yPs`y-ssP8+QcPFx8$y=0)>1 zekRN!N7~!Ql}ASV;Cs@A8htcbS_rYfS|od>q;EG<#+c6M@PWs1qQ>(aDXTq%uD4f; zmF%dCmz(gBk6<80uT$L4m2wF^qN=ahP4ut%25EJ&Fz){E!%&408|n z+S{X4Vr4oet@ZW&0%s^3n%jgurpY@DkFi@P_OW<T~9Q1&iaM|#BP{$j4idyW&rYnPBl`WR9&TVg83NWO0SaxzAQcp65I^-l59=cbS~ zEM|SG5YGJE7_QF9DZ=~QYB)Yze#C09F!gPsxf-J*&$Y0 z)bTPy5fgzllkLkqp}ZOsd+d)9dnoC#Jej7jBi`#6*LxUQ-#}u4-lD-nWr+~~wtHVK zxl`G9A3I3fjZa4V+Xp@G!7tF81Ux7lABa?7wY++fBDYHoa~%HFXPaHMy*Sy;U&rn7 z03>3Qz{Nde{_kbR(rZRW=ArG8bZ`s>>t~g6?Go1nu!B{-*j89BCNd`Zt?oC4Hm{4# z(?mAbN&Kra51K>PS=vhSGdtVw3s1ZjAMLJE(2zQxSi(`e@Zx~OjnJJe2ctZ$8i3p9 zll*>wTqTB$Dpt1CwsX?^NZi9zB+IJl^6g=9{BbWiWMIg~t1(N8ckk>PT%FtEWc=yO zEq)hsXm7|{oNM{$eJWg9T+HOJZr%$Z3&*WXWYZqBPUkPDpq8$q!N65fFV`$D65Lcu z71VTHr{MN!R5<8-+}PXCx%L1X&l38>C^)AhyHl$2m<6|Ok)GvIa#JHir6Jw5L5*Rhy3=8Dr3R$%fwwO_ARG3C3x3}POwih64htl@6& zbQLtq`x!s*s3)ATu>T3}tNG&I!6}N|*K<{;0MPdE%{CEhaXl!S^gJaDT)FtLMY8HHXNrLjG5ggSy#&()AUaoX05)oFg^1eOSetNS_-5jmxgU@L}g?@|HjByakYYP|V={*_P+*<}; zsv~3=x-4}4wvkYT%nwEKQrua@}4xf*7 zkJVh2A=NWA9n$?Z6OIzD?MPg*tx7QtAmh+44S@?sSx)OuQA=0wAly}4 zqR5{)qr3zjU{LD$j+KcU6+(!*`PN>yb24X?i+e#9DVI@3cOE8yD@<>Qd*u}s5i++8 zTNLQa$a#Bh))@VHS0l7+H%I~b1fcg4EQ~=W*MWhB|S9BaJ1} zbL!H<*LU<#QKP!D+rWrvT#kDIUyX#;n_h~tsvP^W)2M^FLigk4vZDNQTO=y-(VP$* zwahl+=@6E%S~QMA3iI`+&JTeo`vcaJl7T9s1x)``QDq$Il%76x#m2 z77_3eRhi*{H3EqG9VaRGizhm03b?C6SW(ColK%fuqxE8lT|gz==g2cZpXJam0AR5i z02Ud|e9tFj%hphvmFWw+pv_Ozcw^hgW{*%A^_An&d z2kh_*i!hsI{&+2+S8tPhX%8^DQ2gWy3jtG)WiCAI)_|LOL(oafYP=O@I@ynm}r@A1Svo@wDc!S!;Og zRU%cAMBD^U3+0;q`Q`cRa{Vw0Hlo;GCC$u*I?ZCCN*bQ-bJb$2<-a#&jXZ+ub&hk& zW!lwM7}_nfB*<#?dy_0q_rDuf25YXC33=Ql5{wHK5~o9vCqM4ApG6Za&2u}|y1?~d_A{F{XI*3?#OI*0p+GVigVmQzrbeBu1pC=UGWJ9o z*oYQZWy3zz>gn9H5iR6%Ny{6D|3JGyu%s=v+^BkkIm*@Xw?=)0eU3M$p1!?D3aj^l zrkSXYomUxvWQWQ8T1TATz|!4AbNY8FxTvX`kl#GB2Yg&KilmFQI+vaYn$N|Ib{Qnu zY71<6Le2-Q>>38%E?-UA^hgZ_8G%2*Ddqex!gfIE(ft?{{e;Xx9r)7SkoFHFh(sD5%-VAabRB6Q%;(C5loYJ&C5Vygv71j4<@u9-6>^YD;|G#`x%|K28lI4Y^?u?jFwT( z64ou#sw8iUv6TAR#Tw&}uBLeSMnk{c#C%Zb)Xf`nR zn%d_<)vMd{y?r9-EKqW1d@n3oCV?GHEt1jlO#c7>3?~2cY5-FRl7y27+`j9JYrC!0 zr`jj(IG=otgZgIwNtDN%+aMSc!zx99xC{&pju#ZWt`KQ}^svZvAe4M}dP9azM?Wav z)$FpjewpW_?KU)59!i&A-Q(e-N08H>l5{TM{ss+{`~0A$_NI58CQiv;Cf@g#@qdqv zQfD0}jo>#<<9377?GcKfm?|4HdouWqfnIGdt%l{yt6zzr>%@!a(9vsQ2jE{VSB%+= z*wgS-w68Aj|)~{dcL(WKPeuKmCi}fFOSLFy3p1%hh9+$xe@*SV+E2Mv7^P(creEXYLE>jaj0W+hvGo; zdK6!h$-rJ7BKf`m>&dJZuy5C&1^jAY3@{w{Yi^zY?Zky7^QTQO`hSG&7C!m6Zxd;O z^KyqW1e_1QUi0W#f^c=Q$vOHbvr-zvOu4oSz2hqmbe(kZ7cwyW_?)X;8h-*h7Hh=F zhzJ6nz3xx6E@hV%z)7jIpBoJNv%x4EO=%YfDlR?6p=1HrP~2z6*AXom7WZQ`a+gO_ zvPN%b72OUOpZ{ubB;|4RZnIVao2keN>DERH7@F>mT2QjjAZBI>$FBR+st27O|GQP( z_yd_PbhZXHH8*_FegnIe2&&6~sWuJkZ=^=CaLCJ|6a4PK%WdA4w{Xbmf90PG^yjM7 z0Hzs}k-|w8!Ioqm5&eUV6d%sUPiY9ElH77`e=Oi4_ED5vwA0pKw9;DJG460jzIKf9pcdakf8G4o=T3 zX0io!fI(&Si9DH^Y{gWlfagwmzsKpOJXo{*X?>#*_$)*QR&dS#Zd&fc&M3z-cH=4^ zG5~}}gaq|p?-eP5&8V86&BuK9l>B zYjRKDkJ1FEjEfl6aA*&7_ioEq0T(j#5W_0j4)P85XS z$z7o@N5H04-;E#nza?mZP!4K6>#(PNrg2CEmI>@zgg+Bo=6*ph`)MqNejyTABJbbs zdKGRvqnW3-2h|i=&9EqPsL%Y1hQ55Je3Ah)?h}Bu#Rf-`416{3vp7uQ{;-qjPEG=$ zeE_9y3WMm$Kb)sLgSawh2d^>g)NR&M;b=odWdlE@6mx;!KAt%)Gm z#%jXjU?x7zgm72#1nos0w+B1DDZ`@NsuZLYhi3)M{$)bO!hDb@_}?X5UwiaPPF$m4 zo1FXzA~8T(#ad3IE&D1PL*11blpp6G1(t+QSQW3S(RQ~1hKz$#^Q|oJBURg}YyKYPg22b? zDHS^`!zbp_DH|XL(TbwpMASrYXa^=cHi;IxztLuYddVGZJ zpavQ--EEipxkQi|+E5KS-&>ZB$A=bkPH8Vt-pe#KJw8^P0lZiaZ?RkEz5jbQ2Hpw@ zyk8FjUCO>Anw!@d6SPXNPJ!36>r?9uCP~S(rSBA}pG>b&oA+x2gA4*{k#M+2*nIAP za#mY+^s)sqktAxha`;Vdztehf$qVS7EoD}RXFqw0qd{lBJ)Ei@28uUp?fvwU`t3n^ zFbeF}m0+>;b6{^aH6{LOnXQ7=WkzHSt62zXF*)B0t-vWs1M$p++IZ+WWDfu{+$F=0 zdV+To$DvfK%*Fk@5jyt%-_*KoQ#)Sa0}iBhjU znr(4E)>6_OfAKVr%E&#+f`=8#XE!aE83W@cX4BG;i=h@N+n2<7Cb~!qr514;R^7nw zd%N7K8=iN9h|6p^Rp@BYQKe8x=Aa-SH-Vx3(svqE$gBIW2HQWOl524UDkl7;oCe0% zNhQ&VwX1kKO&93=w-(x;V83{dbm68Kn#ah>NjXzK)zXyuwLxX#1Cm#mDJkuI70Z}WdK2l z|KrX5xvg%E$5-(j=~P?`QSoVMmyhwiQCoe_{4~t=2vvk>!D6n>O^cboDBZRXe{YtK zNMvAy#yu_^VBt_J%YT#>0l+{`gZK>H<#1lr_xX5*@7*P=>B^9i5}eb*YE{5!Hg%rfUWrX5vYmqN8sn}++&P%_t0cQB@=tc?zUUAMN9 zjgx@DS~7#Ex{z)z&S!&BpW(;<0BI2r!R zqlZvD!1A|B4_6W<5wIC(ax|_;yX@f$ifQ1;E&$iS-Xao+k5qPjLKT8N*R3f42pvnO zs;3}&EO=s`Sb=Xn9}S>`-f-E}Przr+hf;E_om>t?pW9pywB&ksaxNJWa>1bjCjqhm zm?MJFyE``3tm28g7-oz5QhwSRh?fO51X7`v7^BF1RF<3laW!5Sc76N0F%w0kNXb+# zV2wz0!jq?R2rKH2OiWK-DQsp_Q&Ei^8^(2v;D3_@Lh!f5QB3(}Pjz%S4*?n@;xu*S zKrC&7y3-*K*ieYQ=4>~FC*A;-hAyog_kX)MraKaOpHg{1}d{wkg zY03mVX1G%zlMx+GC8WjcGf|=Y&5D46!hWDGrE4#eluH4KIT;3~A^_UL@(n`<7s8a3 z-VqxQLd!QPOxPdGozJQ(LyyRYm(y<(Y@4M4mC*e1q!ZhN*-B-)-(dcAcT)+}Q39)RJ0Tx}RtZg> z8tp5l3XuG@kERbv0yTS2vF~;(?D5?;Gu}wgph;BX=~;jk(z2CI^d-{5g-Hqo9Hs@F;-gO9NJ(=r-hE zjm6K85FU!0iC`C$qlLy%1NcgK#r>w8q^!wQkrLFT6QK_oEQkO?M)13CG^!imz^hg2 z@fOc~r8WSBF}&6_d;x5Lr%bT@TM3bdg+=jfAiEtebBK7I zJ7siw!FzxHkt28k-c8^u2=`(k)4W>XF2i3bWnoWS!zjT0Z=*9|*6X;54kdyA_Lr`& zuNU|q0|TAOALP4rJ=@&sB3pQSc`Lm_Kyp*Gucs{&mLJ$fa+ql_V4)1U8Osn*e|YA-gSf2m^T(elCJy!b zK|Eshy}5?6YAn%8SZHW+Xaeb^+^pMo9+R#<#4j`O zf0OqbJ=3r~9ewnUXX@~V1q7m$cAvTK{XVF2OL-=P_67B|oL!T)zH^pSavfA4`>q=Hx! ze2P9WQ*#s@#4DE0*a;EAQkkRs=CEp(4*(C4%=_DVbE-O$#`_%DdzXhr0lkKIREaFAfnHZf z9IZQVAtuY`ke6tQBHq3a0>ME+VcXu9hq)a34Qlhd6A6N@c7Mna);lFW*_@ZCHh0ef z(OqnRs)5UOZ}Nv}Kg*hRl|hruZY-_a)f#%2g9J==`);l88G06DJd?6T|8AHQ;$#x7 zxj!X?<99ZUzW_9#v$*~F&3e#>g70k(5MMnkAH-97YUr-YG|P8K_*bxkD*sUHAZEYu zr_EQPe8Lq-Y=WW_;IHKmd6HBOO!K3IcSX2 zcx;2Z8yr`P+V5{wfAKj4g+6N~Jo%9e5IPJ>>6UWsY7DaZ5>@&#?S?9-_O~J>+wZ+m z=fLSeM?)`3VSG&@==S&3NQMCL$|*D-LlIB0DMT}FuMU`JpFD91N*=g=zp;A~NAI$~ zDPN{nS9UUa2l(LUzRfNQjkSNT0H7qj!kWm286)nYElGOb{5-~paht!!h@$BR{-Ep+&GKqWdp z-uJA$jCu@smi;Ml%`Qh7G#y3&Ku6=~#cjosg;UDc+0EqT$wW>jvS}mNA|aO>wF%z;>3hcG zbM2&%D98(Z9Bnj|6vg-P411~7Q(aux0}+Spg?}#`l8?aWL0V-{ry%TiKPDDTx&Z`i znXuXgggu1kYZ9n(=sA2gCnkt&i1Q|xq#SvHC>VI{!=_aaPoBOx1Act0E&4<(CgvNg zG#_ruh?5>Ew2N7XUp4^tL{|B}P-i#Ma@_v<>Uc$)W<%febR2L|D2f$#fBKMewg=)v zKi*$xlk~ZmrZQ9(95z23un|=4l&J!Tp)c0wHt+T)eoZTOvMnAX38}4*MCHW z@0%vYm^z^1QswQIuqedyRlfQZj7f@tpi^$8^z|9hb->e;RcR0Y?ymRL{@?0_Av3XG zopL3+DbCk}F{fKSo!>uLk7X71Mo|!Umx1FrM@hyBUuXsz3?*YrfxBkfPnLo@*mBy4 z)HqPkF7S!MJ)T+R^13zPg@m*;aul_Q-cN-%IvJbgR?mPhyvtA6R$pQOUMe+zHTVk> zu!(qIfWKmW$*+3~vAlN76m+fd%9p?h(ul#q%-1&d3~qKkU@|E@+`mfNq262A>ip+qY*!7T-*2cw7 zO}30d4fH~+o-hq&L_;6Vy8=-XGgNhc6^*2$(6oKL7gS0U*8Qt5DJOv2%8T&CR4+!? zD2brmOwpqk0r^Rw76TmHvA)n|vHuAL69*Bi@?$;HoWE)lB zidDB=rj74i%o*c;(KcLt7b*gIa`o2JI!hHH>l`gLiI_W%kks$EH8G;+Wy|Sk2_chW z4zK+zOZ?g~10D7}VEdiE7>$I`^>1IFb1Jv4pqLSx?D^mmQNI0loqMMoDr*Lw51JQ5 zfOjX`DLL%c?Dsfc7Kw|*Gm6}gwF}}7je^j3`xZU@I5w&OVx3cD|8vgu>-b9+9aV&`QDI7c)gw68vgdQLJ7W{I?1Q+49K zAy|$$3G%;MbC->o>_mLh^Y_%VlXDoCtYq}34KB2skjLjx2ds$-WP56qkSXM@g}~wR zL_7iSwC?a{a51B3g`5h^Mmt9w5e3>EuX<0GC2pEwIg}Ls!b;qLOc-}9E@E&Fp*Xw# ztvnEN@N+IEzK2Fw=Nt8hDJ;xY8Roy==)*i#K+vc#-fnOqhU!IF@{pI>P8D_2zZ@@f zL!H+TpU08v6&KcAjxQ$OU2bd9P2m#0!bj<}(huNsSip;jlK-ysja9Sk%RfH@Ls>+G zAd;G!n;{Xf>&262ul<4W&6_xF*q*%k7dVlNkgy<64h=G~larvk!SJM2+N>?26(re_0PLAZ7vFbZFSho zIy7n5$~Fp1*5pDy$m2kuL94+fq|oIy@8pmevbfb5WL()!wb$T?!xNo=cW>Lv5u{)% zA{0ic$E;t>eqh8s>X0MQKWu;fsfFOzadIWQz`x={FTDEmzZQuBK_oNJ%U^1s5u+F& zBj`4Y`silWYM|v$e9{iASX*_IthG!138ttE%?`CN!rJp>PD8<#waF8=gkV_}I1Ok?~%cwZiAb`PtbTLG9)quoG2(CH)x3CdkIu?#=5)=p`ketZLj=@6TX?}*7Hgy) zq}@U_ihGkt!boO$cv!-ScNfPh*}j($-;;;CK}|-)-QY-4nZ|2?<8rXd|2ne(J5Np` z-Yyh`zhbue=J@#Wt61s~!3oiUgakQ)5K$fCVSFsUQ^Npr_8U2yk{W6aJZ;jZfjIh5 zG)BK-C)2@1p$4^0)GYXXAFy3Av=rifxT4pcTisk}xw0&@Sl(cnKANZXnG(3_+f65B zKE{XzL9stNzUZ}%tvjNo*CYLEa4gQ13T0JEV%Pm_HJsA*0a#xDbYdqID4nz*6I1U9 z+iAzz$<2%j&+SUL=Z}Bq+(RBf7)AsO`cw0PaGfVvD}Jl~C#)?_Ye;S9ldm<}^mtWu zUrB{vnWZ8C>>x9*nv}C3`{Ql+hn-O+2fYT8rpMJkOd`k4ZhMly>K%&#$A^I{_ZP=e z&KAl}x*S!5QKN?%G{I?D4+qEC(J)7RnJzarCW?+*j?y#ws28j1rDo;}oy)5z@jZU< z{q{G~OBnK1xx#)h;kibI4mZAD6ffd#E(><*Lxa0EC))E5k5Ry@{-nj6qL`<@wiXtq~(-kj|Ohc?w3G<`_b zRKC2Y@^B9ZFb4sDYXNOBcgGXf1kymC3AvM==6p4@yG?CXw5YAnGaAq070 zZ!A<{&jbX;8mz&n+BpZl<^l8O>a7nDt?qD^-}l8l;~yg4U3F`0B1UmyzL_k1oi~pm zZ1HA9kb5K!*WkpY(y*mohg0%kEqq`*9mGQ;&TE=Cp-7c_bp$syg=<41YK~tRHFA7z zPU-R_7NV(yq`&g;0e;h|8mUUWx8Hhfv4u>GnnU+=(@ooNwG&aV{w*XIjgGGUB#Q(B zc^;uk$D!8dby4DbcbUMd$=YK6{t58EO;G-V7X09%Cpf#$7K=|iP@(}B4w8u^nfdzR z-Fg_($)_aqMGGwnLm7^&IBumCew!Oh$-1c&f_$CJF zq*toY*7gZ14v~P*&tYQmX(?bm6Htvkw}=<&9Vmu+fbF9Osg}2N9V!G&#I=6=BY?rL z%KjUGM)(K>rKzxJ%7K-{MQ3(l4B(7ihk@I*NwZi7PuaCmjSY$-J}E+qmh80}Nej=& z`GQTs7dDR1x1tVw=W!-_b-y3ce495vBD(^B)nbE_O8DpDe^A_PjFumbum|ko9TJlgK^jD!VWjEmu&RZIZuI zzay*J^|!)6wl~T8*VJ!T_@dTkltj?l3>A^8x46Y&0Q270S|qUmt20?@$f&6~-xd9; zY4g6CJX!m03kHoZCK5|$&QkwY-bWW$`F0;c<%%e_4gp$n_xHMpvhgPQIye!#op_ua zY@b_N@u)j1fwgrh&k)ujP)9KSY(HC3dMK!0|CR_JKdwjPOUDubA*bey{VI757wXDc z+I0ER$oFc=ebC=Ono%LaX$4uB0N8dG3=a$_64E+Mp^AU` z#iuBLkG^PX;xjIF&Di8Oe}K2Pq8X>Q(D0Tn0=&^w{KRAnzVqwOaDy~~ zX$5%KCsbxMzbtO^ryNGDDZpbTr;1gI`IkMuzlHeTp65Q^ANy(W$2nIV%!K^<7fwxH zgPhUB*Xg1GL0IG2ikeN01&-!`dH?PP>aC9_7UX^-!y^&EJ*OXlv#FqK0y?;PnqQbG z;Pp^hmBOzMKe0mP%rr(2V&k%`qW7~%(6tgHQe=yI(qW_@F0|?YL{yWVu27Y_F~q#J z9L-2w9T2vkWlvw5Ou^-+U&Rl1GM@+dRb^Q)g%H5+74dL5+PJtKe?$;FglOvHRG~mr z4?h6(iO283=i4?w7)WmV;-si#j92UCzgeri9FrH0Nq>Wu{?CbOb*=#JXq`J6|9`ar zyT{BWUmqIhbtDnV__R7HFkbEd2;=3pIPV>36h)PS&GByHf38Ooaz7$6;+Q;vp6!K8emLZ#Ry_$WpTwYKy$`F|Ulu}}AsSv4a7zqdWEidp|(Yc&X7RayPt5Rt>G_gReqWbD2 z%eOrC-S)W|romCLi4P}If-cuz*0)&h^t=r9st{wpO8$sIKkrTfzBhlN&Ysx=XBkc< z=#m30H%3lb;^SAXO1*B(Q-BK8d6O*q|GV2T)&jg8S9Wxy{mWFvyh$Emia(CPW>R4w z803z>{?cXAV3$>Q1F)1hKMkXmqj_zbXxh<16Po-k@l9kWi+-{&ZIt7IUl_GE6M>`I zV%3T*HWPGScfT9j+OV=SaE(hkZui+N9RS}|#H5sVy{YG^S|Luuk`n@FfzxFWn3=ga zjF4Caq0(ag(65!ut?Q%`CQwBOZ{Rg*6%ob14S%Qr7>A#z2{9T*3tQ(#NPJ-* zI{{_R$4c%MMBorRn2oX;&PdIftZQLFu~|Yn$iW}}!sFF)hhKJV zIcc!bbnKtKsp4)-qUEKx{}APM3lQz@?~y(4EBv2<0B93qf0XK#I6cPsE5LlIR3m@Y zAT3}3&OY)fHhF=tZnKN+|6%LBqv4LasA0tDoxu>jcScL}D5FO2HG1!zVDvU(L>Ik8 zPojnBAsEp`i(Zl_(K|uDnLN+)t#`fa{flK5e!qL~IeYJO&%QSgY>zjhq=-YT_#p0# zQ2wQXM?{&9TqfsS#Q+eh2676Rt26ob>$kw^ci}Nr5{FK&4SCYTd|}6NO!s4{{o58- zzuR~Q#UOAeCpxAM0amOw8dBa?43*3&9`nXjo-GHTp$e{kN2}6Jd((TJNjc%f!;TtDSpO zk!{&1SucvHI>ZU0A|zM{`AcgXT*Ht{G|s@}~ssX*&ifm2Nik zUNb9vB<<#vW?>6*TWN1W%O~8Mr_$D!S#5UKqoJdOjOB^y)fkO*XKgw?gETwO)?^;* z3s`k`T1d|l9tYPV7_eH>C1wei*4Cf{_33lF3_h;}m-Gzf4 zVuyBnu=Y3ta9jZl9xC@X7EF{UM?;(5o2z#c0r4eBcx@wR}DIanHfeH z#&bNvygd9CZ|9+0FIs&jjls;11Z{em5Y|rOmQEsje^+%hF7&FOk1x5^M=s|WSqh89 zJ?WWbS>($}lRQSy!btgFVHiV;{u4-;Q7DD5K@m(`2QA`S7qNpSPFVn^CRk4veH0WF zxKy^O@Q~U~lCqGq7l_17VnS*`x$pLgWNeC0EOo_xR4aC?Is5(^EwLF$V*B6oqm9ZN z1X8avGnQF?Bj>LVGz%nf`=(HrX{OO*#J-3lX3#`c z^Lo_#e*e=4ayn2Z7Apc&9myZHAcTa3C}_#IE-tX9W0*=x+Pf&>Mmzi8n{594{F+J5 zB=@i4)P}*ST|C~BDHVLmYNgbyQwH(-`4y<7fu;=7-EHezjz)z$r=a(y;>J^Kg+d1k zvuRfXkQJvrF}U<6QWFDIzJ$_p2RMGsNYu`~-J7jt#zghLvv(3V{-=uIgsLJmlmEQ` zfDv8{-$Pu%APr; z)wNY+{=vQ%yiB1L&%jIA^T#mmC3#5aGZPzwGd*o(f$I>WyUbKQV^Mx}9$lN9jljEp zi&2#nvOCRY?~PNAwh64dIk z;>RU$Mr3D56R(665@+=dVkj#<@vH0AIanR~{Y}H|y&P7RRafi{I5|^Y1Vb z3Er3cE9zk(S8rdlshe7)v%pD#-Z~&Eto4QWR_hV<8R{;4;Gf;a-6cy{zO&FF2|H*`G-GA8p`>$HyaCkZYqknH`j9!cPgaAZZ zlK@u|yW&Axptcd&8_)jr06b2pg9cJ~iQ8q6c+VfMw2L#Q$M^psj@ye799gR;bixHs zp{)01)q0h>6NS>EwWOx6>~nePe64x{#<-on$k;0>!q}L~y0{bef-jKdCx7{)`nEv`l@w>~K8B51UZ%)X+JE|BYrYWN|&)P1eHAdZNx#;q&-{x&8G|KEx=K~=5H zUkW_9ApzO$#SqDaWtEf!3gKEXh@L^PV1=@-L1GvfJM|BHH^38uI_MuD^2wXAkB&RD z;+g5Q4M;8y$>`(z$fxc?Ct|S4+RlI-9qa8R&2qGm*k>zzOG=i=i zOTQPIfVbgYliBI>pclupt{g9>2NShqm^RuaA~@oH?6&-#(UB{m*MbD`Y$|k1ql%^u z9?H983CDf)W*;YyBJN6Jw3keq^0n~6GQp>cKk(aM-hk<(Lo$fyBr;wgwZ=gKwd@4m zf)N^19}X}pOP_~30!fe^j)W0qwc}GxR;nJKkqKuZJ;1&C6v1S4qR@9*W*?iE#=uBkQ5OuZ!EVAv zBOT}Huc5=8isNAEWlKUh{fwPigxk}r=Kj^`Q$ByTxEiVdI`jeg!PcD|v*g=+Hq z(-DCH(PlR!6Sp32d&C2miyThp`1UoECvzzDeCHV-a*%!0X5U%7K?w!>HOYW|l1!t2 zCE+GiNw`4*3Q=rjtGI(5ONmpb#Qbggmy&w%77XRY?S9zxtafFzvV`b%P7Fw=$n;A&UsHzfJbv>_k>bzR-A=VBN|T66?V6+es4 zAT+GjjqU62e-zkHBN@HzmkYMfaGWkzRX`XG5900UplK2}9+wwhMowc{x1*U?;T$A= zdIbJ@Gw>ACi&R@D|13CCGcNg^x&LxDGH_q#VYD;ZvdULHe_Q@mtMq`1f!S*amIB04 zMBxCPq+fBCgfvK&(`1@=twdT2A{DVUNXUJ^5sxeXb_0a_d-+q7&*N7?;L>!=Jk#Fk zQ`juv#ksud1@%WCu*l3nn z%Tbp&=3chUTb6lt-wZB|sLb4;jsV#B&Udg9xK?p(I*^}DRQ1pGAZm#ZuFz}q-$gKXViA9H4ZrKW+ZTNpXjKRzKq3F!)Yzl z^JOg}QGiG%`Oq5n3IVk50PiiFk2j;mt#liZ=rWxnWSem?S8Fse+96!M)B9(p676Ai zs7dbJiI3k`JZZc$BVpF(Q24D7VL66E))4u3m!?(r0rmA|cY1YQKHMDYnb zjPAhoFcbz^gVK(({!=+=MD2I*K6$IK^R!Re%^=Dik%NQXuNU$hUF#VHZ7?ALXY6In z9Ag<NR({yaK`Kt$HHN-OGVoR1Po){!2RD;mr4=m;DAw6m z(Ivd}ELR7_PRmF>hYdgkD982_b)jJJJJ^I{k4mlDAmV zpTA%Hv5<{Xxj0%YlJMJi$`Tm&VL=L*L#N=+M5y9N!WGEOddw6~nu=to#Yk>61uszm zJZ{De@-c&^jbsT_VgT^8KVtx#4%+=Ux$gLr>#F)I_^eAYq1SzOCW?c)5-s9y7hR`m zb~5hyc(iMi=MiGaeATA?iHm0)9dLQHrWJO3t^mO9`fX5+&M*yBsyUFMTAH zYC@)&77R{qpFfxGluGd!LHCSCW%Ra)DrGj0{{JlD^&|{_g~6dzhU9#E9;3SAG!|tS z`N22ho_O!+ov8%OiWxs~qUIJ4Yqyu1= zhb!u$HAa<4rGRQZ7|8!H(e7V%`g0_?BZm6yOCq_5>!n-!e|kq?s6C9}vtK~>jROig za)s+@)M3hagt#S_2TREU6vhfiGGSlxtUt=reovn|wEs+aXN(>POAHJm0Fi5j7Ulxs zc>1-5W25RQyVK^`^J3b*a#DW2dasQ>hmx(x?ugZ*a6q9${#jkpKzIQnXOZj)UJxI+EgO6Zl-=O_TCz-PRlBi~|^sj97d z!u4zPxwwr!@}io-{Z6LY(6MLXq)ea|*ZH^lTzb=Y0DR7QT2Jl9AH&r?6>8^a0zH$j z=p>ysza*YJ94^}&>Xa$#At!h@MSPV+@bv%a)?nNkx9F(y`T149R1sI=b|nziG?e$m z8UrZ+)SI!3Q5_%W@KqAcX_a;MJwhe*fHldM9M^J(&WJQBRTYJOkAmoot9_a z6YmK==mcAqoqcfa<8Qs+gwL}y0sv7!uD^|eM%kCuWm^N7aEz{yi_&OpVs6Pi34iXe z>y3EyW`%?L;&pty9+g_XN+Lo!36b@yFYY94F`{f_6v<9}7ZJomCNc50ZrRQaL2Aqa{hz zvv^6vX5bCF14%PgIxHsxsD>hp!;N4$g&3FKr3UN%I1CAlpiS=|=`kgzbTWceyvEv4 zHMzlBqxaJvtoy&@BR(gXd*Tq+n3Q4d5@uU=g|y_16lQYiL4sm1q>w7(p%mH#Cp~%; zG}iF+J(@@HjwtdCGdBb3ptgAHaaEn4lL`|id$o#}kjUe-HJI{M4BhOFm^;nR(y#lc zC1?te`%)phnfJg}JHS2{2{|2~6t%SVJs*XBTSvf%IMZ^Wj8QtWn*4 z;YA7Fggm1#%JaKTh>nW(-*)d~B>)v<ojQgWq>KJue$aL( z75@c?LMq*NYV)l3=AW4RN=`Nzz;-xv5`GD`^ZV#kF)1{Fji;j-wavP=QHfSuj zKvePfm12V_`Sn#|6lw`4$qRFkqP{ObEnY>yuG4p$Xys*Lht7DkpiYpgWxHP@5&s}d0OoOWJ>6cOe~bY6G`F}k>S9u^cAqIH2eR9*bqgpV`LJLhr0mm zFsdRMc6%-OF9R%0Vk^^Pol!Zi!qC44OW>Yp@hHIwh$tufm(zDCTl9fE9@)7yjsr z$NKtapIkC?Im#>%#`P`+LTgQxTJ@CmQ}`gWRu?uOB~#(h!x`wiYk3R-H2s~$-hVDHhAK0%K$$xav=4ZZQ6)bV z@%KLamY7;j)MZA6gqx69i5joWc(I@((E0So@VVwjUj|R0$HrKj->&Y)urXsqIE{=A zrV<2_B)F$vt@rK5cboI-jpy`VwM^z12un%O_eOgqYwDPt$1*;Otgj8X?Pl;nX?mow zRv(C;vR@|I@N;5DcP&Q4t|w#qgpN(C44U4~_6b}vmd)U1zH10~hGHlsQ~KX5W_r#4 zj0}Q8br};9&}z*^jTl*e{aS{-DnJ`2Se-jQ4fsM0mMEocoz-WQh~r#n_|0F}>XB<c(Sm@!EkB3XxG7l?q1l*aTr^-S6=@p<)si6!Hh|;g8NOEn@ zo>#v&eQYWbe9Fpa@ewwj|5U;GTY1SZK2z=ckc*hw6D09-Mvg~ml<*4{AD%vS5(di? zc66NhWf%%>u`Ygp>rhIX-2dL>jFchFoggKP$B{7Vvw5qCice?1aN80tkYJN&+U)cU ziMy@%poWvMKbMKi>H|r@roGu}DzHr_O14Bk!j5^%`64=Lah$rBu(-OT*7<1@<>A&6 z-a0X>WyEK!Xgz#?AlOE?lah2A`g`^p15W;8Ik6vxxybrZB#HAyBM5xk%XIslY%}~W z*M{Yz?s8%}Mc@U^RFh-)$48d@JnI~I)Pxind^~_2vmAn1?(`BhfUHSdw|xj6xNl=U zS)jXErwpQVx&OVMA9WT(v(Hbpj)VP!IHoe`*y~`!-av{Mh#g7C&paodfMpEOy%GjA zLDY3_a>{l{(VAL6;?lqu6KtbJUP#sZ*<$+m*ekyE=dhY7kwBc}bqdCK`(4K)aE%ff zoU|Hv2YEWdPeGsjDumCaK7pysae`|Sl1eXHXhX?I-0Xf5Zj9ce-K+ghBvu2jte9Z; z-lpr4a<>*v3is)SqUVh$TdUvoR$~+nBefB;Iszv?0XewIkM}rZeh}GeK?17~wjVH9 zlhjRp&EcB*NcCRAeAMmAK7Z8nS5w$=th7WSEJG6(ss&>TSy{VrJPD{!^5VQK~k9aDo6bFvP2`j$8RgVCqDIG z3qH|;Z?kP4noQ$h559(pUDG=o8x&1`1~vlG+m3+O%^05tRx9jWvoT|^4r5@)YWZUB zc_ZyAUYyu{ZL;_0cpa^x4E8LDi+EOURZSEKu>al**o2XlEnrT$qo z*5>Im&Rb;K^s`cHGm942MN0Y`wk@m%;_r$4Z(d#km~K`H1%gqkp0cz1XwQ zT1sOoTeAx3jAX5Yimsvy4B9HE>TZu0h|X?!?Xtd{I-V2#R}~6@^)b4w>Yy1^dQ~c< ze!>9Vm|t*?y6+?Pvc=Ol*d@h9$~H382A^Kvau;SkBxs0x+}?tN!|LQ->oDFt)Kg^i zhv<+;ko2X)r|4p>n&m4>coZNJZS6rRbJQS^zdxTF+kX)t;>VZh8>E|Ts`xOk({(!zw88QY$Py>NVZ`+=9>3K^U%ITpi zzyIzqmNylPPxZz4zb)|}8fB`GRE9x{!pdyA$??2d4%f;I_&y$}GL6S-b_WDx^Z%Tu zK`Q6=yNzMmrNrh&Q4+@EyIff|f-T zOsvK!*s)bgosn~$(@qiScQbU~anxNlIXNi@XIj7Pg$u2}nmM2auRLTIc3FKs*gA!x zgj^>^i7-c6NeFNo+pE#h-2CxMPlVOoaz|jQ7t7Ljh944lJ7uZ)=7|>`hlt@S18WJ- z)y~qIbB2gJ>z3Q*5CcTT;k&(QB)Kcy8cO{=jkg^os?l-`^JS1+5MQoF=2Z7;RM&6kL&j12^Xvg_PtYH7BaY?qzonT%FecLlX;}G~#$9gNwx>=;mj(^PkHD zqVd78t_tMLcyb-|AeZy`TGLi0_B-TzvcE2g`wbL% zKf783Hi45!DaH1xS z!=fVz)gk8D(kBuMzWtLq@O!=t+7H(u!dpl%5BHv~P3xk)*l}NF=S+x7;N*N_9GFH` zuPOxqrS;hO8Rz7X1x8I*YH5jkEEi|;80jKKqi9Li7W1_cvHH$75By{;;%`NG*dN`C zy;+`0y*#O4u=`qr0xRbw5Ru@&ztUk;ce0f#O9{>Te-DGU0wf5u`HTJqvrK>W z-_-4wv&#Tb%OyvD0UN7+Yg%F4r0R$;DSa|X*nuLrf^^z_cepM5KBUjF@o=Rh`Gcyu z7GyNGR7f&lfAaBK?iunwz+9F&;K1Hci4l!ptMUgZ4^+5c&*FT=r=GcKswZXqvecxoe|VKeb?U}q|ia6l&O+(h$XPk50#Th zHJU@Li30J|#b%G^UgAU8jV-_Drt)TMcYCmjtMrFo&%Aw3`!$^-bq7Q6>i%l&Tj)`j zGOEA&7+=+QV=RvNh2ZkDBGFJWI+>ToZPkH0lh2?+L4kcrbXb9Y&U-^>w}Ub9djGY< zqFaOb3}6KrMY>t6KU7|<$IOB=MbaxR*nGV>JMpwT zWsnrIqGVR;FZrg$Q;o;T66O*@j4aI%8V2c)NCA;|*~#qD?zj78TT#rAagstiB3#L1 zUdVQEXR(wIk>E#ysyVH-+WmC8k*@P9k!NOL>6UyXW?IXeqV$2I>|NP9B>WvR4a&;O z@vf1>Nj>xKZ?7tmVtxwysHaGdO^)|vPKF?U@C6c%ltI&#mG{_0lf<%ja<={b|LQHp zZio3#^*8UYP^B5a-PScsx5rXWBq)y(boAj77S5Ib@_q2}F%!BBx;}=;UL-6UiN=hwob!}H`ua##Ue_yh zaah*l5jH_FL&U9WjA1Ihv}y0xhONOV_~+=|xwQx$rul2RRN`-3dKF|04_ZYs&t2#0 zNF!c)kLM6GG@~rsp$b{CLwQ9cX)}^v&h=Ccu$4t2gnQBjk?3A9i{wL85hV_W;`)fVC?yT=O~3CvRg3!i4Yk9CCdwN{Ad{`ABPn+nZqvNy8X@yN3FcZOxgTweux2p=JCY>N-L&(|B7l=?c*A~3xj z3E&OxZ^U9=GP(4>oNG=`jAQ#Tnl1hwC$;c&q})|4?rII5v}aLRD|-st?WE^KO(hh)>3aX8){-y18czQ7`unrK8_61-F>f_0)*krXpy zYuhC9ive26^mH=q+TV4i`XRSx5b67iW@{~oG`BbH|2k39s$8~t?aaGhKK<#34#toR zyO}k@U}SbI6QM|o6lan5LqFnWqUvQzdd=uKRz92_d&P8m)F-WP+ZS4=z?v2$!)`x}$s3j?PsykUO3=uPbX1Cj}x4`guR)hRrA@|u|C@neAB z3$J=*BH|$Qbr0IU^pPw+^%mDzGWz0Uq8aWx=9d0E!FP-4x|AWottzB!j&DN<0Zszn40CNS*n!mDCpk?Hs`lAVeN=3@CGfzf@;J)6yqvk-@W4qw(WUv(3XU5f67pdXR3^xz*z_=ClTs5a~pTcPNc@7QD+E{cE(B9YSa){BfUv_%fyyd^Wq*>_cTY)8rWnpYkENw3{j8ZnXxGDWg;HE2*(ldwi(k z(O5D|Gh!_J{6h3TqwC`2tPa|PvJqQpejSvMPD`J%+@R{TeiXH#!001>xj)tK(AF%f zjdk>CKs}2UCmRxkci8=ClBxN6`Q}V5NBGxc(GU?JqR1+y%L!enerTN^b=m5MMS|o_ zmcy9qBpJAmRwvHT~g2*u!-q4wgyw0Ztaz{HnP!zs@XpA3EFA+ zC?6ijfxr^HpuiUZsdv!!_U0juvq?;(4Bzu|cFZ<=Xa2OprkTx7Kb7lDX7P=3hzxU2 zMeSg$mAL`@5B6&e#04@1hE+1MbpIV37!1)Tik?z|luecS9@|0V5x;1V5mK?fE+us)u4#K_pK%y*~+O5-%zII zbS)WDT>pteX`Vvmfvr-dpDoarpcgbJVIBn&Z3naKA}RAjh0k zQfJa(81%HSj4aj{b&b^}_5?&(8sz?LuuM5M3GV&Fcl2(rHfH$^LfvHNpcROy;=eoP z1?&EB;x%s*yf~ay$1VAoAI(%oYl)C~g85HkGMJGeze5`e<~fT7zzkeWq= z$4IitCk{4VH5i6rfNsQS>!v}#w7i&3Nk+rnE!)(95m^UalOJqrdlIEg9e(${9QzHA zr&wVWZ1Mt0GfU;LAH0e>B>I+EFBAc;`9i0drE&yh{#%CvcwaL(b>xHo?q1ks{E4ijmoIBLL>20n zV{tg9n>1sHSmMhOB~SjjV8%WCot@&$HMJy(wb-drOkC2c-=KzsgUQzMNT5H?r;=Gd+CUW(QH*97LI(kldN%VNlXPrKHz zKI4N&{XDG#BqE%uu{+?O3;J*wr~nD9*1E1FB#iHk_Wl&PUAy0R z53^80LCS%_*So`d;Fa4qo39F07T659@j|#-f-JKu)RY#qmWdq`=w;_-**LX4z!~>& zjfj=<1@{iW3)~q90qD_%UCY$~T*$dV{AlhY#ydI4%WXwOb0w@tAXv?Wetw?fSQ3$N zthsD|9N6X*%(VU-TaJ)_=2adCQ(2ko#^pmjlyYXKiRGcJTAA&yYd?JI@A&8v4^scR z543Cxe{@$J)O6?M98;%gvKCe%er)Y;jr;*uc_;^%iPvqLKIy?G>-n|g{#<0#T1fiN zFnQ9S8}qw~T&v9?t<0p?5lvB1KC%-nu3(+fnhOf)pbW6=x|P#{Hs1JO$^l+W)v0vH z1>o31r%)`xb-qS}H$~tN>H%I8Rqvth`F$#Ixd6z;sFIPQNElOZdBTya(OGiEOIMn6 zj^=KBiNgHa9WPv3av(e~-=;@e<@3!M8HgZY-hGadJ#Vx7?=x9re>cB3^&oJ&j)p9C z5>pw&V={p$S5&dSK}9P>m_|YV%T*YP-U5$#5Y*&!&!MnLx1g=hv~U(A%OY)QtLH-| z+tZ5@LsSDG@g>Czgp(H2gscEmcUDb+(b$f4pzgcM6f%uz5FPbSR&Q}}{z>lq^7hYP zozdl3inH1IyyWK}okamX1+ovH7L1cj+F+&q9LZLMz!64L$79E06VEHz5Ki$V77Fsq!E{+|hvdB^?bSMu$F ztZG^N12k_Vl!UDKK5)zQmOqx|)Pvxu$4Pg3-8v3mpWg zbA?R%H38UB<){c_F#WZ3YnzpTu72u6UdcCH#?3Ni3Q-rSfp^IyT`4P)Ix5)#iX|nR zf!_)`D5PIJ8906ttEd}sjN(d8O zSp)8#qxVF@Rynzjc;dI6cB<9kLflCj-rn7f{+97Y-0M4{zbltCd`27)IX_-4Zx9OG z`5A*#{cv`d3Sb8^Vd#B@O1h(a$YAiv2NzMo6kmPWdB(yO@Yj0GKlbJ7>}c}D`H*Om z+qX;&qrW5v3YA)n3S%{DYi;=1oQGZq z!RKHTO2f$Q^)I{3N2MkU;L?h#{mLq$l}x7B?pB^y#C%2Bgh~tNGu{;WM|`DE$Oj;9 z6;(3PP@E ztzs%G*qmDYrE}}k`YS9#K!SEN0t^a}dsFX`UZY+XxX`iv7F{EThXHaRY<2N6vnqe9 zAexcnF@4y5C8Xl?g-kt^WxiI+Glt6XEmHM%Gw!2oE`{=k5vz0`#^!3uTN!E;LqqsK z5#b)nZ;vr5#DY&YmZzqewd~F_OiFV@_`EB_i*ta#{SsZ>7NJqez{L2h32D$Q@I$nE zR`KNU21UkA=CxQh|F@>pJ#JfJyBW5oC0Zfmb8`LfIiW~_SR`~bc?CQsMkIWo5$CYF zxF~yehy|sUej6@4RwOISXVI>&)p||*jh&o{q96t6r4%`7H~eHifd}K($tn&e6CxC_?@!}St`kD z-3q+ec#b+wXV*7{RmDHc8c!RgilM^5Dd`Uc^wW<}zD8&jx)`eh@*7viMV!R7_{BR|w|3NH+6B5@hniw@! zDZ9HXTYiV29+Zqu!LdyX1ObL zK9=;g<~#uiter5vw@m;_ANNnw5Bv%jsxFi|TFOT4tf^O)m?pEpy$6zjs3U3;Ru2|i z$}|fko_6x+A3}^JXnEEXFbJsWbVmLzg6+u zLD2k9Vxd$?+lUdD!--nbO51l0&8E8;Z*PhwA37ys!fzSN+J_2wxq^97V0#$0k@!Pt z)#1IO$FrQ1^jo_s!`!IT?UbwK^r!AcN@OA_D~$!EjshgBUYDcb<$3VvLSs(_M|u6@ zXiiQR>-_Iexb)y9eq5y)Tw4qf!1xx&@cEVOWmfHtR4F&ifalFN%+G~&sesjvV0W<) ziB+C~Sj|+k6>r2h`vd}JeIlZlT0N7$zH^%c%4zOrTZNmnB8jBG`T*g*K6)H1JjAPW zADL#3n6{9gsiK<9evRenp!RKuv5(#64_BIlPHftP&)74$OyF221s);53GFX9yI%7)5QK|0~R09adCo73psD z#a5eqdwaebdPK^YlC>KPyMD1+u1bD;(7N_Tundw?iu^N@{%NIX1ebjbJNd5#RQ>zn zP0c$#8@^j(WrLu3W--~KF}!>8@mDH*s*$-dlbDF&KZyMfDr0*#NC95=1=QufyVFcN zkk#Yns~y5EpuX&TG=ZT)VU)SboA08imCq4fTQ=Lfesp(+`tOW0@JG~r1s59qP?v~h1dCd(0B9-=$gVHkI}oy zO*VDTv)cEju`p~R`tn3_4&7u*K1}1~>oIZWp)CX{3(oLsK0-#X@#RnF2diB(#m^pn zwJJtqLPy;#yR)0lfii!6%@JCaL=V^+B-~r6Bt}k2avTvzo=dm0Y8A)$sq-{zyU#@p zT5`2+Vf&faXx#d+kZWqk*_BPg(v8r}u z>&&sZjKZ8|Qi4tAHUtkJSYtKu%8HHlLm5hXRqbl|#iVJv2tfl6Z(mgw?|-MTu(_fu zull%R-o7Zmt;wNK;ge@87hl}$%(XLSz8S3S19l;FG7()`>}&CP(%!5p;7?Q_ltv&b zb2{x-_y$XSniO0xbK3aZfP!f{>lN|kE!eKPl0^3C2$hen$bVd5M`45$gS>H$nPW`O z?7p0dd#;o|dxVWw6?pnXl}6Iz@$*8FM4w+UE#`M0J+BVPH-=c^h%1pYhDQsX8pG*V z@Y!>2vyX0f+1Tlc|2^wTTVFo|3X8=9>fSOs`xkYGRof?1>bLtjugt@w5ec6t`Ak{E zk3AP0i^3p9;kVU?PurOO^~HZg<{`v`@I7#y6(LlkCk{kJ| zA2c=Y>rWt>^KQM9+bm4}*3YPuWNZ9EEv=|oEE;;OEAr7*HD=QtnQS_|@s%#L4w7H~u^J3ZRl0P%N@ zAG}H%jKlyjaWK2lO9d6boVy@RBo70jPL+xhNZ|GUvJ3#7++#bkdhH8K49L^)47RP1@)6V%btkgcKA zN&=9uZuWQqd5rK@ip9g!=Upa>koDqcGc^W05@EN^Pqh7Ip~KaBmDArGC#nM9TgH6A zk`CA&r$dL##x;chy$>X%3A?-YCcWh&yfJ2GX2xNVSoqi4>lKd--IWrX7pWV_l(U)` z!=IyymL~YEUzz#HX8*1G$%<}8sa>)I4?vAfPEM-Fg$Y14O0~9@C}?B59Y8VN#iG+_ zhh!Z8m148@q2%DCPwTO{Y)#Uj0~t?TkbV3lm+i22t?5fnF}cBy78DmIR#y}y4aYJq zqXk^!`_uLzmpT>=`Iw7~E1AL3Uru8PSP`7S6c~(EKc8{{54{zG#N~T?=kdy;V*J(Q z>vvHMj-zyNAxg_tA)#@Nqxmoxgyl2tm!&vYx=&~6rV>287UoB<`YZzFAe}>UzE*;0 zMrGs@*L{n@gsMi7tmq)p2PyYkzs2sb4jdjiW1&tOd`ezUP5NUZclfs-8~yQpXCIK@ zsow-4>@XTcvJ9thzs4xULPRWj!VB1+7xF$7@GT_^GRG+Q3!hdNg_jPd(CW>)%qqT8 zHv1TI;gTm~8@F;ZRjiW6%uHpQ#cSf%vJLrXW!TYyGL_M1z7C*`h=YA*=u{qr_;a;s zKPxq|d|PZ+B7pY+VLOYHC>G$N&a@&)%9i@~^?M?q*vJx&+(&zCrHh^S!D*ZTr-v(a zfPF+tl=cP4)--4YG5NwaJHXCu>2;L6!sw8%ufH>aN61}F>5xYG!kFafFS6sBkW5Th zzh4H$08q*pORI>pPRhI)SsF9y9_Eb>8UZaR5Dk}VBI>eH*xkiv+&oYJ`1HwFtIF`*9qQsKPZK4sw6ED(1F z>1=asATzJnD;vW)(pdL$HpB%rNL9!x?0Ex+rq1#2@52jSz8DLR@(bthsc?h&btu?B zA4ROaZA-7r+@1{B`KEAv;qR&H|)erbNZ=0ShNC;e0?Yj?4zZ{%B}F;R13p{Ul0So0m7 zYa)%%WvqDVp41pO)GW9fPg}~GX5ih5(_Ei+D`o5}n(}?F1}Vz=u6|6LHox_rHzAJk z@8lp@mM4xso_j*90G6wtOsz&YaTfdm;M-EFGSlC72|+Jx0e5n!k)IZBFdWO%?+9@B zX2r3BsQ9h4`->`+x&y-_sq9uegJZ8Y_XT<=R+H<^T6D<-%J5dJrplDqoY542z|j}< zx79Ea1Pqdf`t2TT-Ce)zZQdUzGnkuoDxxeQzNlLK4SI<6%>x!_?37O?NJU7`QE#;L zr-NEn6s=?UOudPbhpJ5F6FlNke>LW4rat&g(LO_!^*60W-C?EeBB$V*rLE@#)|3C&X{Ir)n@IYpI1bS-7%X@de*Y&qX`G?+ z??W>2Z+3D%lg1c+^G;6g=L}DR;J-$56`=V!JPR+1i^A{H#M~DZS(H;snUA__gJXs4 z2==Myk6rM_cIM{9)$4Hi74G1E3{Fc#z3d#p&&OPEB$cI*t5 zXg1u08uEf^X323pyQV9?DDS& zfb;r(^JM#Y!rgmL*Awmex3#}Go_gO_LMd7UWdXqOCATiz-oqx9q>cwiDYVQu!J%1N zk*mF3Bfd~@h^h5ox-}poC&Twqjh6Y7)F&oELuoui^Idz7zbDta)1A;G;|!vtl$f;J z?SezAydd(g1sXY@`bNo`Z^ZaMzwy4v6J@@mMr-ie=sR~F$wD1%wPEk{ojyKJ5(G^< zHt+mD4%~8C?fit;LUo@=1ns~%PhYb?r)lzqP+zQnj&>f+5sI1ICFjtbY`^%uJH!w{ z5s1dOJ>RZ^oT*#&`1v6`Ow>7akN(0eR;+F0A-(cw9CD&9)o09jDo+AQm9z@eigiCw z+EG}4wu;f4{QYz@z8M{~F_z=DN`Ut@^P5|E5P*5USU1h|!YwL4B?~TOz>Qb%B#(f> zK))~U;Mw5h3Cr;0x@|>Q*QA9qBTHY8dz3t%fN~IEQ)At~ir*&saWa0E?s@rcUbcnT zMk`mjXCRnqd#NXo^KjeOF62}ns%V?6h0vCjp;01yOxGP=RK!uCu8t5&ycjtAE|ByW zvB{6q@Cs9oZbn)EqZmbKJV8o6BFuej(K~2`DBuNRr}%|x)zfbL*!ZDsc_oj)ABpp> zkK6yqb9u(pgY90Hw6d%vTSUQREbWF!7izBj#}16qwKz#g;8Wy%td}{jI&;}CO@qUc z=?X^!xxTS}eQNhLO2h>z45bvW{|#f5(;jWdNyDF9sDA`nY7NmTptc_2>~3_Y!sWca zsG~w7opkMYNXivbR*BNK(~r-hci(&_Sm%6uospN%?ht8QUBdhhJ`^&=%ZJe?>cnB9LuqvS6rh&|I_lVwpDlBD?3<$1!OX}}`cR50;EC*W!JUvCq_3&Pzm!_t zZp%;rI@Nq~68v|DK7g`dOzP*p9AqSlllgJbG8ILWOV_X0XhI5DFEum36$Z{aFR>^y zWD2f(_z+H6TPHUO4Q2t_`d8tGL-PQT=sMderRgtoir=Gm+_5iLV+m$!os32x4}-#v zTn^*&xIFH%R`%M3%XXZWF;Q#5Z=xFQ*^p4n`I0{)iQ= zx9!&Jf>J&cKQaCZAEK1{Vvbjr9hQ8bM}&iasGCrynIp+1kZSG$$g5R>3(K>{Uk|)% zfHoFGXMx{yGeRAJ`32Aa%QTnWwTljE)t9`OLgx%R=KU>1^P)#a)aeLUQeJJ6# zGh1mSAYY-?Tnl?n>3?l?hZp@LM>MIO2W-4E8+eYO5uJ6U-P{hi+acUvY!~gi!@wc= zq)5z4RPc*)l$;(}Av#{9OwN2yMoUFQ#uAnF;Bry1;8k)--w-G;S8al{8X0vZMmhnR zT;9GWTX?kn{5ad2wsO0YrkL}~&2|ixUc=0vy}?Vs-4Cb!y&QPPU^3rX5IM2_gEabS z1-??A2U5?mr{lOI>YRgE)xx2qxb#+iDuNFMJNa*{G2ke5@o79lYet#vC`IN^X&Ee% z9t)H!my3oYXo=QnKPqs3DxPIB6vj{a5J!hAWmlr9dt6cX7}95Itp+36KJT}u&VxN_v z@$ywD=l9$$g;v{!i=`eZ@%w8@(!xYuT`_wPa|VZ-FLQ6p%O8#pt?P+H_&bkW-0isA zT8~I_HNFwSF8<6!X9_r#Ik5Z06NZ#XZ{)W7^nFF~4GjJqaK(UXfJQH;#3scPsK`|} z3&*3ZbdtgoId(?j4^(W{J3kEkG!RRxo7==3#SH}X{pwL&9PnV@zSmiN zb~0PTsie7G_Oelp*u*RmH~1wZp9GSI$!hWtM-Z;ewVVtB5I9tT9=iK=rCe8&p|*g`X-iHs)f=D$}YozNejH=OXNPim)LK zE)3m!$A7Cyt`+ytz1U}N=Wro29}P5wMay0W;QYwb_Y5wGh%I4v8f7HG&`gGq`10F zWsuE}Y_?CSWK#8^rm0Sx;!I9l%S13kZ6 zU$k8)=271x@~QQP$AMS~ZB7gWqNzh>TJR+dk1C21Pw?$B!8sMXew7M9rC}VyXc6<} z9?oSZtpe`5%L{*n&mJ9dX%$AGBtLs{yI0+*)mZVWROTa&p8E$mOq1}w7z5O&Y(L54 z3H!7PW*DB)67{5o^{o)Jt$+E?=>qZK=8_8M*1gSYZz$pcnV6-|9^Io;^;+*ZBUfJQ z?5z6P?{W+Q)@fWwh$N?CK5@^W+htV=77ff11!K$Clwe@-NkRftOvw5`1~y$S8|K}R za+f~a62ZPC3s0(Xz{K$vm3%{2e0zzF;TS)nsS_kXiM_s9v)4fwr;Oz|mvnr%WZB}$ zCSk_Zroz{~Rw>;dKi1k2IQpDAzr9=h`4guG4q3Q*2_=Pvp$z;lJ0D*%Slh^D)W{?x zY~bf5=~H~2OzSMSpcytYTctg~6|c#GPU%`ITX@|1ByIM@65X=?>~%dRjF=dv6hHsT z-w(B=SS?4XXe2owJmz#8N&2UKWgS62}u_yvgV7rxkW#vihE`xo`o#;_SLTiWI0c(w?n2o*;d;_{j5SDub7VikLBq z%W5Q5b@!1;u}TJ1Oc*@&amD$0?9L}2jkkk1o>Hitfr$AgT5`XqJ4v>(VJyll>}GZU zFOQglTSn#arYnQ<58BLhpA1k@mYXoy%IQ-A%jX{`iRl<{msW1yp`ZbPYsgq~?e4HD1d>dVekZ z&6pesr_A3T#MltjlgCdX=DeNIPs3Fvt%H=7^`Y?w*<9-I%J?^)zZt0YgXIx#xLA>A zfG6bUzl!AL|F!YD8+Y9K@`kpP{XxHsWTxU3ZYE4y zWl;q9E$hE`vJJ$?*T~*pboV?>Wp}q<{Q4d_YA5nxM=BhjjwMuUsPCF9o@~nc>-~d=vDQV0XM0!()w|Q*eJv( zxK2fwKKh-~zCzXe)&%ZC8Evmem%kZI7y4}eOgjqU=iRGc08i)Z&hWw4K*_1p6-I-M z_De@xL|q@Jm2A(0KB+7;F+=o@C0)& z#xjL)N*Ff4lk=}nwvhY|vjheGe;4vYFrB&yd}w0~k49?a7M0b>NZylM);CIKL=(nq zcJrZdr*j%252zpzMN)RXde*d&u}4zpzNXm54lj0Gw*KgrX>_zLOpRYRt@$G@2I4s4 zlqpK_{T{!r)T_)K?G`npjWERUrCz8I$13BWO)OFd5B!W(+0a?~->vdjw|5zh5!+<=m#2&%I3dGAv*e zdnP*&`{|Ru8QI1s0+r2y8=N;gL|lZF@4vc1BMw-#%NQ(b%=^&4HoI)$R2ntKJ~#d< zmG<1EfK@%$_5l9WvRaSt{Ao+aR#Q@h|>hgobWqTXdjv9^YG)e-F3SN0w*g zgIE-;UZ>V&y5*@_Lq<8ylZIA~-)gOt)3nB2$C|B2GubfA>QSoCIA_W_oc0o%$Y^6E zg76{lx$vm@A{HB+INE6G#5|>X!k&^hL%4!o1fE9{v)XQz>AG$IprI6cjnaPlLsU-~ zEH?K-ZdoO+Nx`#8Q5eN2&zGG}2kQE${39kx+Kz8GXgx>4gR_LdB8BX_vuQO7n77g^ z+BDL4rhqSgIFRp%H_#)!$F8c*xAOwP!f#@s4{c7G40E}97blbjon%sC?k7y*zGn(L z*@clXrk_6TcKcUvxF__JS=rP{2TY>+++jRhlIm|>MVO;nZtkJ@yEubQ(ay@Q5M z?CD0F}6E@_mVMT580e7kYE&S$7xnrxC~vbj*S(mKb+9Fr~_0<`!%M&tp}tymDO` z65QRqy*;0!J%^Hqh@^!~J#u;ZpTk6!3jwL^Y;SMs|(N51)IbExvoiG4}%Av*!8 z9a4Cc41>#^C*%{!3&YeQvNFGqg-TQ)+68hMx?zv+6Pll<6e1#r2@;g#B6yEF4=x=l zopYR?I*d6~`gP8^6Wy8|-imd4krOXf-?@>> zzxkKh;BcPoYFzjB-n;K&IxpZ4lo3kN@P;LE!c%Y2y`zA@WUMz9%IGWPd-bJ-n@5A2 z_?(Nu5ZQ%SKqC5Khu-J%K-YC#^(MAJ-hFN&$NTQ;IPo^qp|EF4eIyi{cype+Q(=FA zHi-(CREv2%{=xs?&dY24dV576ugjbSvVWqYEXoEup{4)NnBOS}LK&T({HL2Iv=^|+ z3Gf#@x7p+aB5V)~b&P_`1`#_Y2RoA8-fi#RD}wh1v&Tf6%p;g=@>989 zX+bYtMU2iHXZ}Z{*;agvkT-d$VF3|~5{mySL}Aq+Dw zqDVQG;X>ZOZ1oce9|GC5zE2Ep#U-(Br5e4}R5h}nttc%Zdhd)ZW~1!*D)3&O@*L5$ zs@3g$u-t65P-|7|vZW-=YA+`xaW*bHS?unR@@wBt!;flfwH}$zO&-lSP#$h+j`J%jZ=@&67~% z`{%_xyj8(Af)Zf+(8y=MSv4#X*G7RToC<+ZB*xP|D2u$7WqriR8y?0?sD%M_?Nz}; zgaZkL%Rilun+5E77HLtO^q8>#BQT!8 zEmb-_HLo71obxuAgkQ#fp}Q`s;FRtmz)$EcWKvX6c<~XMt^ntI-R!oTSn5~6Gen0! z@g>eDF%S-1^AKZ+U~u@mj{2RR|49>`N)b=LqOotA_XNDg9G~bN*qH1xlpE|HOZaPp ziNFi&oj11pT=X#`Oy(%~h;)xpf?++Xn0Ea&nlyR$^Kb<%m)hMi_O1v-Mn*>PSe72m z(9qDIIx0+TgB-9WT^_-{c7eGy{Bfr^-bOn?si4Xmw;<*4Ai(x7q}=BdNgy;IKDiAL z0>cyeMbYz1?gi9BPcPM5l6LQrNyu@BFj3E+1owp3Kb<#iUqBfpT!WiQ!#k-fb{;uJ z(Etx;v0dS`%hu7?lO#UH+a2H=VJk-=fr)JkcDXb?k_Vi~E#sSw4pk3?T5M)4Sq;3F zgI}e`UT%`9vEp3{(?>m-uuPy-$++OwrQ9Y$3`Xo#vj2tYifDDZFSC*WR|yM-&S6oZ z`dUOes|iD8zva1w4jS~D6et20vPW7gbs#ObtI5cG*IE7l9!ND zaQu2M6wJnGVlmFQo%hjI2U3-`f6kVYiJet#rQ*EvvOZR1Y|Zldhh0LiZs z*q)4Fl!aSifBEL-7R&PTNA|=*daGe95HBM%k<554N3Us`eXnek7vV?+dNS0Z#S_dRL>ITxZ_#M%5Fjm~q5nGMWEa-+e~qea8%zpJ{`y~~=l$N2SqT|@w z0EL*h_H%7ZzK@Yfjw*n6W1hwpi-rM18=x*arG6hgcoi^`Iy7h0G#rTfh{+~-D&8#M z-rYS(?DlV+sWVv=;>WEC&NO2bA}BGseGg{p{R+004e^PcvLO0G5Oh_R!aVR-kkgV- zwT2SNH+rIki^TT8JdjmQ-b)Dl2gb`7LSHT-kTv1>Y&WJ!*+L2KAB&K3MWQ}qKg5B8qDh11*7RcbT^L%bU_bWUr9`^Tt5Qwb~3c+&|O%l390tpEuN2ZxdyiPQ_4#~<0Mv$0456F*ZaeWyJ5q84{^v9LE{E-x!$!{S%;38yeD?Dih7I=2 z!Y-Qx#)2->&%7F4ZLV#1wb*n@;>D&)lN=Xn<%?Bv*l#Zn({M=H73Q9s6nY;28kR9W z9WJjPzSv)ySu58qFRto5?x&hro51s#`7?v|=J9QV!<^cFgT?KKl;`^#iN_~fBliF7 zoIBWVFZPoPg6ua+aS8>el#S)JJldRQ58s`yPT$p8Lk=;nOy9Je1J(oZF>K3!ut z3b=0c$4r*%bFci-DpDHC7It;~jWNoM>H`?Y_V5&W-T?yLXauhU{W6%{vR=$RO_%xt z-N>3M9`d_f)%<Po6jz(E;X4f6O&|!;80_p^W_0z3 zTF&>twzHFkio|Rlmn%v;x5oo?DOh%J%jFjLaC?DPh|agSMkd}zw2Guj8E5xKDgfZxJ1`(RtR97k6;ZPhCawU8-P^mb@BheB6`&9@ zqrG_&qh60Sn960O6moN}OY*BciIsz=MscGbr|^U7?qpG&-;2p-hl>r${RkQko<{Gi{NXp8DIfN+aT? zK^PzLj#}t-Adxr^J(-L`U)-yNnzu?(*a@U}qWNsczr9zF`f-;@;AdKzd@+snC_^0W54N=ap-ee7KUm zxjd|%j3OLL7x4TNb=UfCJs3eLZa7poTZ~ z&2&pgY~dj#JyE3p^vQ=DH`25}t2MVj{Ok&WnQtnPa$Q#k+$(qdTgL>uuqt8v+pF$O z#%rMSQEBlwe7?b|qCuF^uRw_8%_o60xF5Eis%5~eqLfB|zoP|m>kmsiC znz$1UQ|qMFIHcCf(6WmvBi zY1-}$vmA`aTBBKhP6XmyFzhly9t|*JO4FLZkq6DW>+!}}&p~^zvMhJ`svceeSn@*jePf z)}ikk5?IU?q4ReE8U7qv(8C|vx84)3d~DvQBR){jv{q$LZy#g$y;zx1$>n=G4?DA= za?=OZG&njl`nPH65GI=++3cZo-P-`5>AL;?E9_dOkQVkLBRjj|j)!U}9TA)IzJy@i zU#cWWz$r88Pw%(o>(g!J8uLEiTsGGEXaIwKa>y$io}!A4Ij^?85~LX0(k;`eiF<@< zcmv>7*(CF#6yC2lJz*GMDY+R@iH_2Me+h_u-?4&)4$xoY(7{1zG)-m#^3O^+3tj-= zo$d-RUnoQ&q^|dy*2)yR{>+psH+eyB+1)>qT>J&6S6N~VAv6m0s(=d#f5b4eOwrg3_FQ6PUl)sv|py4vWJHP_D# z7Oa+`Mo#Zj;gTggEj5i~@;elMH}NRl`3}$rexr@Fy6qp>665?1vnu@l84`Xi_QoO2 z9uyZI?J>TQh{e0ldH#kU{?6w=M75;U*^J@e#P&vu;&NcdXmX((3(iBk0Se(tX8aM| z7+dV_sAqxFF~3xwGdV}9^l4j|T?kF_b*nU50w51~YTKHPHn9PNSX*0u!ME6qLx{F8 z#3yG{pKX7&4K5m_P`z1R;s{cRMi4Z` zkH5!QOBDR9fQzoeRD3DCO-dflHzv*M#8pH;{-b1PF*PHFInBUWm~#xvknoN3L}{)- z@gPMi<9Y#)+D`z{v^xF$a%8%KF+lOlBaNZjXFpR`bUTbc#q<8J+oTLAa(7z3&(_H~v7-BL zV*O3N5BU>fZBp?>A^aJBTN1sH|CyvNp=qXO_ee7)A|fsYHG$9^DKP&=L{BZ(-w+T` zaE@#=CoERfWcM=d&#{YW=X>PbrjFjNXVK&tnpT-)tYJwg_AnXS`aJ;F=8~dOTiIan z?f82_NUPg!0cF=~m0Yn`?7C%^i?(vHzxuKnVdw-ySosrq5%4HPf-uzqkrBFv9@rwZ zWy+-WgKolM4J`h7Oue1cmmar@Y_a=#G?0M`VJs57MN8q(PX#bYH|?QrOoI1*H4SR< zRXuDki#brGUXIEmqj=EvqEMLo7ka!uVv&M6f%y~8sJGpndA)US1mVegI9*wQ%%kkZ z28S$xRCje1B+i0dKqo13kOFpQ9D(kJ*6-bTHNd7_Ja~V(M#mdEeuZ%!+|UKs-}TIG z8szAPKM8DQ=CMCzgNMpZOFVlST+3t~CYV6ja5Par`q#6}N?AAe&%aczqzUB9+qS;| zDNV-S7%1OSe)6~J3>l}R$d%kX88*wwS7a)#Tg5TIUTrr2^gMYWj_PwG++teX=faa; zHY-oi*_8hfVAe3-UaZ~OhVp~zMifsPVc&TNyXx1z7riszGrxW~B{%bI;L_>PwB&Pz zX3L_X61--2LK&BNr-b=V>j<^1i+%$fGE?{|%`DTNh+xUfe8nLV_iY6jL zhhOv=ER(sbQ*w&? z4Ej7Ox1tx_x%otp(ZxNrY~GE|R^cj{?Bm1M&U=9h=mvn9&zqLL%f;3QZ1iFX|Av-C zsYs}!IhXh%0iXWZ6eBuHLYcC=M<)y3wS5tiY*@#rk&s~Hkosxcc}RN5c-Q#CFpXHz(!7uQK_Wxrxqn6?{&-C-J~ zhxs~|VZ@`hdX@l{E&iS*xrU^w3eNu=8L`-7*pCHA4n_Ycy39`q zO8()qbG3BOhdZxQy~@l398nd~b)DT16HpP2C{Fx%jV*RQtzGMJXxi`{PjH#Ow6qjp z=A_jlH;k}{RxReH2}kQmzlLNRij7SCn1GN^5kV{ho_R+gRQIc9i4`-q7Bk+CsMXm3 zxpCn+fAPDl7|SzenEl?J`$a{)p7&cjstnUi)6PsP6-yx8~|A=x@SK0GA|tTEZtOJeu%N`-Dq~%O3Z2fP@0LLnDl*4s@L%6!D>NZsCGl0q}Z znl9H@kEIna8;bzsAwaK&`eUfv@&CRUHKQVmcmkx$g!S(x71FOye~+HrosNwF%vuFf z?>PYlb>~uZ|Db>~;rm6KR6uJr-&gz`iEmLC%WuJv)M&1)FlAL^b7wx^T>ZDq@ z)$?JW_Z2vGclHE7#wAH%VbK>5nlnCZVsW90Mdt6l2!#i{ER=)qW03CR=l06zFY&MA zH%J^o_xBC;^CyTg_c0WRAq@p12c}2j?WjEdN!BW|??|68#6LH!l@s}}6Td(DaiZ~E zG-5PMP@j#GVh0*~^PUfo3@XL; zwx;Z)h!dHHA{%Khjy_m>E}JkRFPe! z)ue$gE8X!GF9Z88*|#qksiDY>cOQ_WRedS^U5DGqm%2P}Dwn9_I-MJxMlPHU2J&vG ztDr~+CPve24Wr(3c@<(}_51731Ks^q+}-_xXCn1_+2_fhT^e@oz0OD6zRJ2RJ=CS4nbN@5_jjZlkmqV{2o6cF&uf_ zd>AshsXvYh{?NXcyC`U64TUhkD5uct$q$lS+_!Q(R-2)HhQ##8`M0S?&bmh6DNy&j zH!+k^*i^W3t>tOK_wDjNnS>A%j6krZAUYar;A8H?&VL;pQgc-%b?&e5eXVXy zb{DO(Xo~ke!s_R90bE!-UAA?%#PW2wGq2#cCE2290?|ywy;v9auXdI3G+}T3~sGL1p(qwtnoz*63D%<$q!~!qIV=g3K57Z^;LM_Vv_s*VuP-m zS$i@`^~&5kF4GrT{7&pire5-qo^Z|a27{VC+~x%Zcm#ri03)VB=Ln9@Ek*+nHc|n2 zkQJ6U0sPT58B7Pt*wXHQx#Ce9@X!DHS2TC+jFKz~BlHVskYL8~5>3V~a+*b{mLn67 z71HGbfp*Fwb%LQ%JOJ=_r6(PiK)`QhM0OD}{ZzDci#g+sl7~<1PM2zX|4u0Xws~`n z5pYSSLAdW`r~fziZf~G>PcgGoDj`%Msgi-vB5Z z`p<`Q(c6<6jm7j`L#)$5_wNR0Y|X2y!Sx=rE|La{W4!d^EakSZ78I8s(#*j%v5X%% zR+k4W5(^H*zklR#Fe|6>iRTe32BKFn{WOeAD9BVuVo?QGe?&Mxr2lrt#}3Uyk?%j^ z{f&RY3=EeK$8qQEZsH}~?p7N87f37P#-U*(qq+>zK_f)eJSYNT4P|;HPUCT5o0l}s z=G}dD%|%H7<@nV{aL#+8?M%kL-CryL7y=;qc&$7?$r%j3@bo-1yo%A2Z>LsI0B<2&bOp6uar>D6Q6=V#$0uNon1 zo%VT55}wu7F z1^rhz-lmFryw&#CtI|;n!=w7`UbQC}vS{hd@Yg!4pJMF^Iuu5U#5U>V@AcjqPMH!l zY=y&Gh#`bCp)4?4oe&*dAY$5Ha~XV*l9#7MQq^33&)_|GemeRs;Cd@<>l1?&@!Y3; zTqygo>y)aX;zWUbkwJ~Qb?OE+5j`p~dVeep2QK;ZX`73K6(hrX+c&?Iw$-}A8}-fn zbUor}igSEs&%TR*{BfJpHu4liC^dn31r{byFLf- z$TPI{k|C^+`bFBS0IoYzUJ~wXiq*_4Th~XCmTvn`Vj7I8I;AY9J7(lE>t;(Zeldqi zO+&j%bjwo_c`u|drOUbP5OSek^h>pv&-b%igZLZ5Ui2?=EecxgtQHqpQDG>kV>%Qc zD{Ba1aI>HieGNt_2%Z?#qT-aLueBN>lg@W@`gu(>`W~F{-7f>77FY8wR=33Oq6TgM zC4Isqfp|TQN5Ssp1h+{kHMr~vHT@TlriB+*7(h!qz*?$yt6I+hDKo=|6==v*#N+#q37WkPz$GUD?cAey+i`7u4g6(6gL}^!^ab1$(Q7ka{*694HMMn8q%3e5 z{980gO2)i^iG^ixHs$L`8n;sC?UtHGhu2IoRU%v`P#>MGN2E{5w zAtH9BS`>Or=dcDeA`q)W6jSv)Pa6o;bHz&S3)4v@Rz6-i5GH`UJ(d7!)bzIU`_v!3 zmRYIevqKWdqxM!W8tl-pKnL;uOn!$y6Jz-cT^;4ql}7sh*IVQ(LGF9Ain(H5fAwt zG>SQ62V3ORpOKsZAE^0KHS4v|AeznCx`CvY{PzQGF~jpbyr7t7;kny zc_T}FHe)yrR_*_Y`MOUlzUGZT^RM1$(XXY4%37ZFSgPR#qD&P%3hY-_pvOXskP(=D zlLOE~5^htm2+|zaT?B-8Ge&TAoJOY7gpXu{9+e2|DZohA*N1g;WCPtHIj*T6&e4M; z6%`df@S82DCQQr@*wAbcHb<~p;rkFDT^bQbAudG04Np;CLq{{Ts&fkP^;3Y$)m6(f zH2O{zt4`M0sQc+of0o~5#l()6@&uCFlc)Msf2h%(WWN9LYH@;Cj{8?#W)6~q4Yqjv zqpoCBA>qgH_xcidz7bB;favd9mVC;yBBytxiIo<@TnwnUgzqW`uC6xXMsT^?UQ530 zwmb&7LY4i#{YJ}PRg${IHIqu~`&U4gh(fesDtr?}#fj;Fyoc{#_x24aYnd1PRBwF> zhb`WtbD2xZj&QjUNM{DIHf(NMPL-px!(b;fe81w=zbEk849;x^1J*yl{yJ-+qNa!{kr}b1_jLa2)Nmsz+vVb#h)iuLGva2Fsn{f8(P=;c9~wN zL;&k2hy%(!VS!WU=X*Ao;kl)w^;{n=xuZ4D=(*fCIzo1h1VSI}^w>M`2(@2WUE6>s zBAx_Y>@SV{$PqmsUG>_gX$IsIV_mcAhuzioR^Nx~?Usg({+Oh2TJJ%Y*(nvGFXX@@ zT!?TRDucxfAD95z9Q)atCkv8dUGoTgk~(10F5%+xcz~{)W&icgFMmt2fSY!S#&$+snC?w!@BF^lnBlT6TbYJQ3HfQuxnZ;=%fX zRYGZEtdE19$G_yeM1)^)|Jd`oTdTD?IiIbBz5a&MH++7$`dq^Arv7YyPQAr#7rHf) zaw;@KmoQu7tyHPdTVuuQ}2d3_W*V2NzGKqxXvjaRATiU^{f zEyTcUGnxn(YIrT+A6Pq_lFDT`*nYXnfsKvr^7}i4In&+yH>CQPe)4kNbfX>-r0MMn zdyc4wp07qBUEj?knzAn^l6@(UOhV>N6j6Rbqp&tE5g=)(MF*?>T0IVD1^o`&FAHra z3KICcSz7ZSZdX+kSxeHjLxXsl3+7(b(@#oLVK%8L^KBM3=YD@+I z<6|gpYtu(`MkJYRNJ4qMloUGH`{tbTbIg)+rwQ3}V~TOZnsYh0U2&8>xZ-0>mO#`OJ#vSE3lgDaml3X7`*VA*(^0{#&7mZ4A;qi8 zNU#~)gl)*HFlIaCG@zF}SmT}}dq%ICDUi}1L#Y@`EsTDPpypRvY_wxkUJWn<+mGxo zHl_eXrYzawZ@6t+hu=+!f->*M`J9=)z^dQnijsnSGD~kGOAJ-HIKvkxrNwa~^T`Nz z=d;_TdOM`AoMndfR9%kf$V=rkrF@x>o4XhL?WP;bmU42RSmD-v#%8;dl6OZTpVmiK z+kHrj#k@{ResedwY{5ceT>n!Tb&P(L39}j|Ss7zd&9p2R-SI^67r6p%F>-f(dR`7- z9E;!W#knh~8Y}95>qOQAmhBcq2`CeUL&gN&A0Mw{4$=S@<5UMe-HIE$d3+OPnayXH zc;~kse73uCi^K3|x!Lt(RB&xDxm3I8AxWLR>)?mzp^nV2%m#<8s@8)H!;h;yD$?xV%wOQ>nIy;EYv@oBh z`d*)uc7jV!#p-#_NjY@l9jcn)?7C%4RDw>4Kt?g`Z#zpg2Gnn@)9nXcU;n$W?-K=` zS2^&}pc~{_f+I8@%M5YTB@8e9A71Ta=O34*a_Q!D>6Ysa%{03V&FGs|-pMhI3??vc ztzE8FFQH4d=W$0gIc0NZ{b%!bsXM?e|l;Z%-wzq?(pIV^T%%QR^%QVwEgIRSB3Gd|Rlh<^ZX~ zaOY)#emsj9G!SH#myf!kRB(Suobh`!iHIc5 zEGp7bSqeHR_+YYf-_y+eA<9@g9N2Q9fDns#{o!A(gt#~hC5@IXVpY69NAVjw$i26i z938{C69}uMQF_87|8GGV5{)&^nG9)6mab~p@2LSCG z@cCmzEV(`U_Xq^sup}crHI)Ti450PeB#eVHR(V}4*vu4V4$gO&h^B}*QF}7TvL6Np zJp#qgiEX8!R-ppn!q@l63gZT)BGC=+X-n$t%re>@01|EM3IA0WS;-2alh2>+Amfy_ zlv1WUT(?J)rUD*HLsbjCTNlAIti9VGvu$?B!PODZP1|ghEZx$c$JnZ2MJ>j)p1ps7 zgQG>kj&M6%HIevt=SqX2WckxQut)U&&=JMb($dLK(vQp;0ph~|unvaM-2ts<+m@XC zn*&9S*_r9dh4y@4IYciD@M(?L0mJ!X)*#j!TuuL>p`n}Hl0!lJGu!5^-&wkgU&y2* z;GBl+eCSfhz|Td>X`GrehD~q%dcTGTIm69%#U98J!KHqCWn}^dANS@>Lq; z0KFE^^5{adc^r*x^S zem4ryzekHKOSMi`a>Z*OrqnUqrO`+s|L#uJ8{Q5jGV2aE?!9xmI{~x=%=y5$)C@?! zGJ=lt^cMZGx)bSwWSk|GLsFrfu5%`|@^GxA)hg*aD!vK`-@8vbB^uK5_LTqd^Tc_A zu_CdCMWacR)M!M@o^~EQmhX>$@P5YwjEw^N1)vh=)D?Jgd!1*K$~sL=@P7G*{~44RsOIJ)W!dEzt>o7)Nd zBBw2;Q(FF%m2Wn`UC~MYb@*>O2nh21y-Z?OwUTG!!Gg=5gqj~{sM~l9PabaBRjJRr z>5sH55zS`$A}T=ggQEdJtLq-#5Tqa`xB32xC2-EYEsS!2+{}0VLRn(1{QYC>_&`yx zx+TEu=PB-Fk%e6er@*w;CP>^B!6MX?dD%TTPJda<;3~G2{36Qs8Hyna@r&gQ0O&i= zkBXk6%O|6ENwrXD6)n(@++~0eu(a8<>aFaTFaXxhP=Y0VJrjAl&tNyQ(XNUB&6EN_ zomh=$SVF_{&e@gn^OGoqny}&x_-#crx`4Zywxe#`o7AUbM}ci8!yE~GT^By?f2I{X zu76Xl!~v{BIhu^i@sON`9<`hRU}D!vSf2-N8&_K<9DLu3dK_dA*LJ79S)@GwGn2$h z8z9CcO@gpQ-1+s>D1K7{)A=r+qdl%XJPIMu?rtXlrioC*x1U`hU;)sLx8KcK0)Qdm zj`s!zSp3kq_Ol?!E{ZFy{6&<(^ zUZP`nR~qvXmwXsVZfYw21Xn=9ubnaP*e%Y|K?;F$bsQWnW$Z(RIe)@2xZ_*h^maxb zu5Shy*R>@ZkW4?pTGLf>28MY5;{y7Egq~IOt5Ib8SllcC@^azd%5=+_`1y6$?s9z& zG-C#Z?ik~9bDyVh=>PaYNcokN(_p;wqfi#$TrO}+r;|r467lNQtCK~C>Y?h+dluQr zNu3+m<3G3f6ha#Ik{9V+0~1 zP&v0vFsk_HM*Ke==csHA5Bn(}0Srtdi_X0)bE1 z*bP~7-x-$%=c*{L@6|g%`8D!pBgvTvtiY)BLFs(BDgQfPBMVUT=bd*a(bVGJI?fM8 z`#JzR?M}5eEyZ~3FET%C;BnbhVAC!}WY$@aQfBb`G$OoqnY+ljL$tJu0DL`peg4Pg zWST95$0E#I&2g@=GF#k74?EOzl+COvyT!k!Kc+0pJ-5wk3oQI|{jDP1zV!Hfue`I` zpho86V2O1!iyvhC*yz&E(2bV!y_qy?r=`Y}yX%vo&;PFDPA)%g=K);x4&}zVP;~+MSwg+zeiH&VE56^AqO%^GSWK9(}uUr9S zH+7v6USb$wlIy2Oa4zJ3=P6wpk;-K>yyx7;0KQT#V|lRLJVTim@X)N{y+sNUwMJ}? z<^97+nD|Oq`~CHH0^`fVfPW8(+1Z>`yOXPwo!OEBrl!;q##(=7XOQ1D$(Wo53G7zN zQgkW|5`f{oWvh}wi-iKi(;R@9*wn&!nR$76Tj1|51F@M{Sd?VU&A-i^%KXRY@@W6A z#{$q*P3uwL6Vm+=LSy{mb!xpkTbbp5?9{Zv0wf9?M;=poKy=3dS^TGSglstekn5QE zXDIpT6K8;^tle#;!Msi^nJFItZ9xz72XwrP>v}f~fc8>@{NTdE!X2X=5qBl*XwTef zt(=$y#6T=f(*L1!Nvt#ORwKy?JQn>WgR%i~aHr~apG(vAKcA#SbOh}^LJ|9UHNtU=eR3hklh~)|LHTf&Amy zN+W%FE+~74%~)>Plax*<<79*8Sk3?DU%@*2F;s%X!@A{`|69BS%JpCDFAkY_tfY)` zPkYLF*he9{*0ha-(6iw{!k$u_hCclKNXRygHDx195ltP{^~ATQ#Q)a@+jGN1Pg_C& zNn)_*b#J!w0%o~#1)MSgjP8Qd8jR^o*8y7X^V|9P8jG#hA3 z4Tm&g>9m2xdiTd#>-|MXC}RP2I6efbZ|2vqD%NkZLC$5;Vi`#^+2ZbSzR>mkH4_q| zlr4+)gBggcW*g-(P^$jtr(5Cm{muDgwV9+Jrd$lCX`2v2w7-9H$5X^%mUCqRKmr?O z#W*~ivqW?m@Lh|aD%{3jKm9o@xaEb%(TW!Ws!oEOj}c~1Q-n*#nO-?{))j);F5oW= z0MQeQ7g7hDdMYCBf1myTaU$k~dIk8jTlS0h1#Sn+uMR2=j-&dyr#`EvahdrQ&9)~u-frf3=)Ec0v_(tkMm*^rM`kGAp5W2nlG}2&*GEs zqukq#jSau&ws1?i-gUrzy2I`OIM!8O_dJy>dCZ#^aQuFmiGY#qLn{3SnL?I-caRI!1NeoP*osA;b z|Cu-7sxtk%yQ}wh%U^45=s)B6j<;T}`t;P8s8o8LY$}!l?h(k-uQV)@c>TZl`pU4V z+V5+?QNcjEb7&Bdmabt)=}v`_mhMJSMi^oU=>}<#kS-BvL^=fpX+at!-*bGPM}OD* z;eYu-L6~#S9c!<3@3r@F1p+-p6`aB!6Qu?W*KXo!-v;*Jpy9wBK4@;T`w#vwXl}Y{ zL~ZQyLKj6}iR>cfT(ha_3SBz~LN zfm9*2;~P0k08Fjo{am{N#BBh(+8c6p=_!1lxNXho=*twWPDG8`<6EmpEB5iTxO z7U$Uvzkvi8A6o8D|CAnr80m}!%zPp)wa6OL&J)|=968N;r*C8|gd)e0MX&S|&^g%_ z{R!rY;3bA=+;Mk9hFg3+$Dd6PNVR-Ch#(zQaUY->D^|(rSxef_V_^IWRx@4_EcyNW z`Erkc9^D&_1}u!sUExg!aRB3Z0WueYKhw(iIJW&`1gXx4L_o@{>!HZ`;I?ChPh766 z@+o7WWqgl*3>N?~yI=F2txk2KD-D1@x4{c65d2fJ6`PPuezGFi#49Y1E4@$pKT;>% zH15Cghe$pC7*5QK=)t?_gUW>i6f7X?7RH-s<?Nb>;&wdhyYU7?{6MHQu6RQwf;m;`Udf$P^w%82}V1UxpZi?icI_st27lW>fk z<^II}&)Kqv>Fm0ttd7mQaEQkW3FB9l-)m;_F%15L;_}o=5zS?kqW7w`uc9o;oUZUr4RsnP=%X&{azR|T8aoP_``B@Q2aCc zl2`yIjR#oI+DpB1V*^wFL!C2WbB2gi0Xt^N%adG(U5<)oC`i&H#j=VRA5;H+iU@Ti zs_V;mqD~@rMEdOetPOKxKe7H7kN~4yB?2cfc14Nlipc#LAX}{RNQE2sXzm|wPTo5d zG#-+A{I6|t<7y;Z_U8Ir10OjWoG4)5Vtl@AU>pPX@9P~Ua6sM)0-rY_L2D@g=dLla z%mRMpgL|Yd4TUKN3Vzn01g}?;kbtu-Aw@++^uU0M z`!s-3Olv#oqMi?HXAxYeLch&mzO zJIr?)jczu{;=Z++B~CtBkd=YtxU%=E1*+)~NvgjPv1AYImg=Ph;5(Ia!06hi3$-x) zhZ;L^Qb2I~UOgl+S|Nil0kH1e_{Hcorngo@G}5Eg&*Hhwz{63RHJ9cni1}-95Ti3d zWc6YKhRhzkRio8Mj*9=qqI0^pPy0#0N{j$G8JXv{CoY?1b*GiL3T`N8$wiRtT^uiL z_5;CJKb(k-;73(+2E;u4_lKtbpC9_bZB5;v)vqBy4t#0SqsI@S%8!BYQ}y^gmjCGG z#hG#(^CPGo#FGItl@L3>$7_9r>HQF}4dr$$#_>s6oSmHsqBBE7gUapz|H;Oo%w^JQ z@9%**8ou~~UgRgMPkWhS`w{5Uxx`+___HD&V%NV}H@}B8886nk-R)sKdOH{(Q%V)4 zEeGWH#1CRnltNJhzwZz478<_;+Sp>&>ed^bUdBUgZXsiyLkIn`fPV|k!@;3k)&8k3 zr?lDv<468`K zf0A?m8u$Ki274Ij3LmL@sw^CM+3avwsF9neTV^P@*J1Dmmqtuqx7@f$^hJ$(UIiFU zlNj(ydy)X9X_2!N8yCmKB{5I+5FZC14F^_mpT_l;hdc+6*w{Fx`RIMzmg~l7h&dR_ zriAT$l>P_iK_jkX%i(K@v+bszpN>4^`kf51alo@IUh__D|BpBBQYhHk+G2Zt)nxo? zj|Bj*!r`Es6j826heEQdiW0B?R}hphVMMI*2iRFOR!W8*<|o+Sdy@J5B3z#WpZhzdcjteC7u^HTZDa4{1igbm zHjSK6Af`v7?n`C4u70X=-_-p=085+q{n&VGThj|9(y%wr-m;YRYo;fI93dXa&&}L@V00^v+JjFP?pPkEC^g%=( z*by_<3#~0~z=Ds-_qvPINfrF1$y0f@_F2Nh{nepFs(`%lzL zP)I10!4Zq#&m5hENrmB3BhHStL;w)-Q7F+Z>*b)XkvaizE=cu}mXnc6z<*nrELzEw1Y9lc|LL^fUaA z4C*}SY=12zu!A+C%`@wE)M}*i&{#Bd>1u5$P2zNofn3rd?fYQruJqWXr1#Hx=fda^2as(ubuv^_n1HbrCF@aR%DnTu5!j=tIoGw^qNyV96e)5%&r^HLK8R_FPTJC z0%d?L{A<~it_jHN;%+;Kwq0E|#ossJ{hpq|#tYvdYPg4U0?Gv;hEIP69hmqQpTk%H z$Tl)0_6PVzDlNLncIHgEpr^%VZ2^tL0FzEgGz*wERRC2$s=xhgNPr{=*2smg+l=U$ zxa-ueia9bTg`Ij9i)! zG7K()iO|!%9)ZSKsKs|Vc(oNtj~Eb-)RzPp@o2y-{D*{+KL9v|Y=6yZR3(517TJWG zH-CFcY5!f$KFR0khXELY0j9zlrortB#21&XcavQ=FnkoTr12h1JniJIn{$bf@`AY; zWI=N!J2IJ12h)W4jM(`heUoog(7xLZ@^4g7bhY>byYJw=gEPqglKQOZRi?5A^HG+({HS!L0U+wimX zEYGvT^f~q=ApDdU0xq=UvbJVx!S3;Sjti|WyNhyQJil*NDRU86X8118WVZIX0FM(b z0%582{`vLmtEp-6d98&dS_M&zjEqPg6AC+9Xtl>DP!FTXB#gJ)t^(XI?3I46T z#o4AV4T<{VHJHKcUQ8wI0;3SHXI<_~)I0QU$v5XS5ka!xnkr!h-~oK$=6%&a3*Ylck1uYRoDWEL}H_&Nc$B&J0H;#r*%u+>`q ze#PtGtL%2KaTr%xTwGM4yeWi$p zim~;}Yd3nneF%H>3&NvJ35d`*c^dD|G570xtBJsvHl?2d+~If8;FFLWnpN6tU@iFf z{!~4XWZTHTEIe@GPr~#RyWyMZyDiLSkP}LP$;Zc+FMV;U6zcmklYjtk-DSCt$#rEw zBZnq*I@O_3QP6&l6+Gp60z74A;3Zp8$juT>I`HJOb}&sqSt*e{zY{k0qw^Gxy#ye@ z1d@)ezbuo%{IuK2Td6b^Rn^z`B+k_@B?3)Ny}n&{U-;UrTW-iCU^k(ivrL*9SPtoR zw&-TB9Ao8WW@f&1J~Yr5TRNa(P;ZSUYTSjdPgfV515af;NO_w$)>fyauUD(!ds*GQ zrWr)y{Il%dR^0-7@E%xfeX~R_(WJ?v$gq!ebd-%ZrIADU6{JHMpmScoT-^UaY6Rg_ zwUt_}YW7KxxZ}LoxPQWj6bK2o>3!~&gIEVDC?!47Kk@vls`Y`#a@So-MhS`exkadw zddCj)fz4ebyyURPNIdFmMZJaO`LCi+nhJ<)a<7%m)}R4}lX}D!^D19C@wHIFBUfKG zSZ(%)mu%mL1Y(JDW>1C9H1TqNBk6VXc$0v}PT}w2L)nJe> zZlQx7t<9UrT{ovA*c%!xSf0VUuFc2*6M;$O%t3BUgsHz$kh)W9R%>stzW1Y=-N$J^ z(X5!SW8Y!d{Nq>}c-kqaom0;8i5$8F?9y>p9(#C=aHl3rY|&XQ(hSd84 z;dmnA)`MrV^U@zr>E^*tZpWcCHt;NSIAiLj7+tZ$=?^{tjOOxyh$f=~3??$zMHm>y zD;&DRrIF?SjYrSFhA}u{IXiC*T8ae_5MY^w>BUOj!6)NIAWQWtWsd6&sx8@5LOwJC zQ7iOb?b=*;u$#CW=f|)oU;uE1;7tqqpSt}zS&H^I{i=uvb>jCqu+E&MWcm8beKm?& zNqa0HkOf6sak(&+J!9`_V@#^R7iS%T!n@pg(cAR1g(X_@vR=%zAWBKED+oiFRY2!u z+eyxx$Luq(e2ZzDz6yVl8YTrhvPrM|CJCh;y>Sn$V)MR;6pH`)a)h@012qS>|3mq- zYf!4nfQXerof^6uN}Bc;r*?|e{0bG0ua39Y*6!?*3kaEPI@;!NL)p-RTdD}yuiJSq z^a|Cb#S50i?;la{dHf*ukPUi?_lkc#oS40^ihSnrBY0cDb>U=4hY~Py`nxX9z!N({ zc2;f`(GZb*aLxQ0X((e3m2?Zc$*t#(jXB8-J$W0-+GTzPvwhh4NWL++e1uZa{`%|(G^H+->^Y^aZ>vRO z)2lRwCjq>(@Yx;w5gkORLWBJ@ufc9F%idxHcQLE-ogatGuQ}NX2n9UfWw*kjqZ9EN z(B!A=EtDIO&KrZC4dAJMLVs{eSG4dE&am3?v#_L_5n&MjvZXC{u4gN% z->C?YRG|g?SLVtmP_lA}*I5Hji z;7g@z!G?PJesM`W_2lG5B=&l9)HPmw&+a|t@Eq1iY97V!u8H_dHR&2FD)w@ zm*NAMCvKgteI(aj)#SDoc-#QRIRRiix2^MGCPabG8tVkESCUJ7U~b$_ggIu_NvQ{( zXk8JU98Q|$`=1?cs69I&OqYq8pbNS;ufR8ULnH=tdrdru(v1lU!9F1%$9G36z&wk3 z@m@5#Z@zxSdX1tigCQU~no6RyK*7%Lgs}HyCZ27i@QJJmKVOK%3>u}NB@YvXlBs11 zGaS#kMjvcUYdMO%c~!8m^(B?FcnILD)~aqVyIhwJ$oU{=S+WNpK{|aG4C8&yawO+U zHgyN{t?Jgy^Ecv?CZ6dXTSd&dO$uGtZr&?C`&Q9*+2^6H5FtNG<5u652wzi;Z29a= zY0lVb3FC5@u96$Kg!!AM`8Mn=KbXXa}3 zDR>nQc3%*>C2c71l4J{cH7W9_$+W_x;G(H=9mTA=e6ZA_S|bNHE4Y{KbbhkS-dAzv zI<$M(OZtE|ny-XKA*eYGq5_IC0-^#m2F`hOJ3#QS+t{+UqN1DuZP{camdI_QY4YZJPiha|5`ZL_jmX*8KpCST{g`+QKtqJgaq;WWP6_MBK3r-y`Y z2@_o(?n&Oa=#F~#8eP-Hj|t<2=4ep<=gU1fOjE#O{F(|}M(DZ>!%NA00jvubYPP{^ zH*mGtdey`aiE_#O7jh)5cKqL}!O{R}3L3o`$r`Y69;RZ1enbPY-F)sYr6AFmE>Bd* z&3k=-x>>FslF)jQ^t0vIG+K(47yi@qTWZN#Xs0gB7jEO(F1}lmr;WSkE zIp31L;i7W#V)b#JN-pYVm%yZPuI8JHmZO=ZolMnODMsvvWj1EU#%WS+yrNi-61z@S zQCI@~gG&4QsdGvN(ne`uAEr39#8$La3?!y_xW-0nysQk-8~a9A_7)V@As0cS=;E?R zJQ*qrAmcA}Y-0|(D6Fq=^f2o|LwHgK3~siVTYJSW8>Thr44WkT_{j0hZZha>kx4nv zXtEp&__>V6@S?7U*6?&K1i$-j*VqsoI&*xPHo;pY_X|^6>fu(RWWg3DvX36QiH(Dh zPe3CK;JAz|9S5HlFCU+5b<%ZR>9~r{JjT)25C-0y;Qsv5`=h?j=4&`vs@(H8LE8DJ z3X1Wu5teKiZi47`z3k_*(ahjNd033w#@KpzKNi>y5%Ny%9ajk6JZd-q?`WId#LzUA zSMFtAei3dJ5^>+S-bwI1u11{y*%XQPqjK(3Ym}7@&c|PkP+(>(| zcRig9Q>Y{Z#8S7)(@7)mX(A3*xmJt|{yASKT1w`#a+}0^k5qu;o)J#HeIi?n9P3Nq z=r5^gwGHfE!^F`K4H_K@xbRmaLiMa|wp7SPO$}R~_|8YYlwMV!8vyNdAFq;TY zHY?hGpN9h#=PTVUJ4#yEI@XKRQ!U_7x|Z)RgLe%vp^v$!38(erTy6&(vQE9b)lNGbQ zK?~@<)yX1+HMKN}EWvtYW3eH!S&UM0ad5T)nQARr{XnBgEp<5SY#A{x%3 zLbH5z9JBq-`8|s9>wQ41r@Lny08ANM|(+eeeZ~zEDMdAHwdD z`qdv0Wn=SHc<-<9vI-pD${wPWvPg$nY{4DTD7=SPCPgE}(A<^W*HzC{LOh7c#pQTq z5I?4}LzL9iiuBZyx69sqXUX(~wq0sftLzh6=@+WgkMmFkHfHGcIIwcTurwIo0-w!c zn_6|vndly)iji8<18MPNyIj}RPa}ZReX!N_RFO^)hi;4Xd9q1ryOeQg&)QFHT|{Sq zs0Ab;W3A~ z-B~Pu!mzWPXr?q-ZgP02p-g5L?i};m3fBpT;mO+9xD2g7#FvgstUvKmL`HX;VLivc z1uTz{#Ko1qPfyaDu05w3kh@AN*=^Pc!?zj&ythC z^&my`@UHfj`&r^x)JU+y%5$`jx4$d{E2ynw!5WD|o_q+BT2}-!(apd1#WSKS?f542 zn>@>tI-3hq_P9 zdv9tbBR`w*Yg9W&MRV*UYb7NmP5dd#R0DKz3wBmKM9IVYT4ca>(@zOsVQD+XAjo}r zI&Em~GF7hh?~Ii>XdSu}-;V~Sy40vnHO3Se+bIrMS7zX)f##*6_rwO5ZQvxcki(pQ z-)qj2P=%#-q57eE8|>Ucp70=2Zc}Y@%b^VMk6MfjBl#wql;#&;699fY7;mFTqM(P} zM5i3T%6q90vPlY5xz(*#@r^i^=hl3K0q3>`W|l&PT*auoh;E)dwGX^G2SR8ppy<$Ec)>0f@JFIv)S4f zsJqCG;fE7X{dQjvP|R45ln^he4B}_*}B984n5N+Q5CqpaOuyirPt%Q z%Eskj8&%Ba61q*bO4lc0QjY0wOhg4K85qQOJ<^xhc~hR9KOeKrdn3CuD)PimBS9e= zZYZMJq*rFhBsAwFEBI}6T+l4iEXMYvi_)>D+@xtNUx5eg4M4=9dtbYbc#=LCi7%z+ z<%b_sJ~G3qQyhOfLa$eDj9(o>Dfb#@{!L$ER8Er0o@GGc5+;^JV`XRB)@U)d_+*51d6 z=(r#qY%qWM`a+9cy82a7wXSgb&de~ti|pBmziO=wrDiVQ(oF6#B5iYuCIkJ-p==3i+Vp^GHmjIb~%>Qfqe&@6y0MSY`)K9W0dARP5Iid8p_xT~8s zuvA3NH73Xe`|GdO{6y0}ORkhQx{j0&zaVcOr818es7+Frfu*Sw0)4-tMrD8Jz_WVD z1Z#|wAPVhIz%GqHq}Fk9LQ~qCz4x_e_$1zvav4u;?umMC#|K=T7G;8`gQu*=~Bc48GTZ)Z~8z(ihY`b5b zAzy<8=57XTRdxocm&5^wyZs(9iUVBuc?i0iyh*R@yR#)9fpYkN<&S2^9 ztf(2!PCJW zjzWu4ZWB=j15&K_?UN5xoO}N^UOb18xo{r7kg|lo1a^b)M{4D>V4*0lYwJT< zJ!|(kKSh#Yjy?G?Tjy9SQlV3vx3Z~^>N@YPAD4L}ZHK#iT4t3-H+5W(U4THVp8qXU41aaq+&W2rMg#c4gze@gkWt4g-e_0FUom|0K+vu7ictY^4eqXa?Zf`z%u= zX^%?R2%m-D38oD=kxmhE%y?F9Gx|pH#Vuk0)ja8erxyqYLeS>$P@!ie?;U`Mgs5fu zy+VQIn85e-n4}!owH1^S*qLtLqtU)QsBZRfs(gru+@A*6v;bR90>UrewPlyz20{p^ zlbpgo?P0E$MUZgzt!M+A=IPOoX=!<%hY>_AyD*HqW)r0bxsqwIu~0w-Gd%#e<^#Db zpTiB8?KxqANqa~OH`@7IjvQznrGI7UwhEDhYsvR3f@2PP+d>~S5dBU^gI>CVv^>7^ z2lLS>@@tIZb`$s60FuF%mPh)8<*maPk@bbPw$^*l(BC!Lz*_pyDkKD2sw6S_1EjB! zJPA+85$Sb4H%KfW=3n*YvrLff2yLd#}-#8AY&pM>-K#XX4_YEh3u zx2^dWAH{5$7h~^`Fa50EWBqcz3TUX6!n7HwDdKk+Q*im-lTDGwV={AjOe0Q*DGIiF zDHsi}DgzO`U!(SYy?EowjTzxd8HdkA1aCpJ*lV%ZN&L3|l;00=_;ufGse0Pq#YiYZ z{V*8xptt&;9b7l8bKor8@BLlE-HHuhiDI?opteZ0AfCnoAl)1O*BssNML=Fj()X}= zf4j+L@4KSSd}%UhWX)FqlzHkjtZVFj2or$WN)J1egza9(bLl9Z9&K?bDk@ezS%Qxn zGpo%vgU7&3njRZtiWFlNYUts~>^)~-zr}zZnqBff8RBsVCGNPc$1+ie^pIu7WNjp< zJJo#0A7)Jjj|)dbT$855?$PR+h?#W%Yl-$qs&iu@0F7Dpk;xAsFw``mCPM(HcGQLpqyTKR)>0 zCha?MUSf2dZ=RlL1!JrCb`P3?-Q^6pCJMpts-6byRXko$&Ac4(zWo$|U=1F|y@q9B zt{FS&c3t#Dn(|Neqxo!9I5CGQCWiar=is;yfG{{McH%JModdUZx{O4?U<|*@3zO)x z%^UdDRd#)r^Gqkzl zIkn*V77R+U>m!z`31A(u3}{I!R1mRGA3)t1UHEM9(H%Qdv9}jxUDFr*8P^ExgR!|( z-LiY4t_^Hwj`Ovt%3LttPeJ_DQ;jlVu}?FMeV`N#0y+;_H$Xs8@w zsVlO|Wt^RO-D_ivEgYrW>}^em^AOnL@SC&_S>@SB<~}|?S&8z8B6*J(a(*|&dI$_| z$WnL7HI^W3H1ner<4TN?H(FX+*UXaiV%sGlb8>vR0HfcSC{u?2)|Q%BfZVvr!Am3I z0s}N+8AOgBCfj(>@#6N=!I^i!O!>qbqk#B%AJ`g}iXT5W4-BaE_6^h&bUQm2$5DWV zeomk@r8`>hCL9Bw9*D@Ti;ElMCEy!8u#DpM&_R?~<-;h2!N8?Rp`PDW|1wH+b5I5- zi|_F|180g*Vr;%rucz-( VZLT4w8i8n*o6+Z6f2Oirz3AsTd$-=bS^WOe#OokXK zL+}(B>^z3%b63|?Eyv;9mQfMhv6igPxHw)cQfRcNLf(HZ58Xc2{_Bn78d-6Y3?pyze}y`^TIaJYB-*I7 z=qhxx^$f|(gnH{aaT7R!F3?XB3qj4wZC)BLW@g>9xEMCsrwvTX8-KW_3l3HO) zrrUb*Jq4=L`Eqz~L?C4sSi6aAT5n+eRNG+T6o4HtcuBnqdYGL>T2!I^667dXcVxGN zx8&e%$*Kz2!lYaZSd}nfUEWXkaPyZ7-vA;}`2#Ey9=owZe3Pa6rd*u*2ur_zdj&)t zrG7&HPcLoY0VlvWh)}FPX5+vjCav3G zbMijj(4KA!Yy(S38$H&cLi1j^V2=$T66e-R7vnc3oA@7&v)^_2w=V*AW9B=XQMm1R zDVx<$hP&@zkyb%fzOuzoi|_I88Yr{Ci+4nvhT2=+3;xI6Do=BI)`o0cxp3-Pz~1R? z-Q?ut&-buB9N3B1TAstTU%h&@!7|akx7>eSfGnC?^z~i2TzDknYkP2IRM@5btDq+9 zu21Qr$^aeALEzVcUD^mR5soIUZoO4p-~4Y;Sh@TbMy#MPx-J)1_DvB1nnm)>t}a~w z;-s9wt^;}gHF>lE^fQ9)qGWNasCZUW<6_-1b|&T5+SD1~v5MYmUp}PUvGo`Hv$Wgy z9<=7S4Bt6Z*MqfTd*~AAcmqh^-db*Spa1bZha~mo)zPPGD&g#QAFQylkl1AHum>0f zM1;54EhiwQSdHPYYGNVRlIgLrV~z13*O)`)aM+>Yx1iF__;T;v70so_AiOT7Cf`8nPJu}1HlZzU^wT#OS&8}wbM-n7noE{|r3*gIZF(!+b;xWdmO4uj# z^T7wW3(KfY?EXf8BQK0rc#&NY$fA>&})SK?3+k}SC+1> z2jplKfC#_NjS^9ssdKF83^_!;GdNkUNf8)7=Flx>+?stCalUjsdbFjvjbxy@;<>-J zU`7J00Q&%Nc<~cYo_?FMh)xi3-%tRkOY)RB&Jbakf*RH8@#QjYia&P!b(6PVZFs;!&@D6UZ8@G#J+fQE0sp~WY_z6(qWgDRXZr4k-Vk)6!IB7?;klL2wtNP0k>s=IEi6#w|MoR5TN zngCAdYYZj}>pEt4!U&y{r$ZUyd+*yW^PyUFcN|*|brT#1+3#Fk{0vmCm~R=^Sbcey zLSejEXZcr=*3;D}YVh3<@7lGM;HZ1jhU)5BQGV56URDyk+v3ipB>q%B%<~_@r)#-< zN0H(Z`Wyyjin(wU%eU_Jag;)nb5HW>gibVW-;(3fq3`^bpfmdf{ z4eM`G^HjHHz*n%5^SI=>{g~2V*C}OXT?9?{MMectv8b5f314&K0BJc*?UL>BYAcx+ zps-=+x&E^7dJRC^;hikBIG}sMUtwqG!#xh7XS20B6&6Bw9beZueA!qTDQ#PM`vF%= zQkgHG-iMmE>l{zM;;y&f?j4;9Q*o`={q6`>%20+uj%k$n}QT!NA{GnCsQ#2%2hR(ECUt62; zA=e;DsuVyG@{Ai?D!K2h6Hje|?F#Z!KTFCF7G=0k7$`l+@Lox#H^D5B!})I2{rN9su@+)a@l=;n+uzUPM$6}2q#Pb%UF>XLoQvxTAZ2$TTekB{O@ow zIz0d%iTEbIf^V;WRo>=W@~{2XlJjV5PQx1T{TTbN0D1vjM>8YX4UH1@+(yB;ptKbx zCFn&2gzZPhKnSG<6~lqbtgWJRr1QIJ0iQ&TZ0 zmM7srR^({DLk3_XfeKcnzJ^T72`=|BOvbLC8$ZkUA^!O*OFNUc!mVs0d z8ui}MWr~Rb5+Oly@x^mt8cTQ)$q;YcNxM>W_cHk#b}!4$h%z^LMi+kf9E{xFtLcg7 zy-u*d&U$QNAmYV1szTeMjDjve6aIm=4^C3ew$8cs*a#1KG}CEzgk zkZqP)xA)}NYG(gPzVdZq4`6rN_G1l)gC`;37?RudOR*ghAu&?L*mN$t00)V_6P*KB z6WfIqzxm+&r%XqIt_GM#*(QOa)T!W$v;4PjAGi}LJpSI?EY{1d(cykC9#yWf+i{-( zkGZ$rYKX@BJ6e7W_iN&XH7%o8!^E7XKP_bT>-&)9PC~Uie%&7!$u+1?fv6YLCNJ6xI{Ew=T;{33g-lg=zD(&t@N}M7#bOgWqiw5O)T3L+zk) z0EYtxyF;Leth%?i7fryV+$g~wxeY8k+X&%lMuHx}UhJACkF8kgkQ<6$8r}2VHz$He zRo@|CPpy%1=b(Wzx4aJaiU7Yszs&Gm`?M1V0XAhYk40C{!TKn}D7!&bUbtncR)Ol& zo4#Lv_mNZ|wmR>dJN_p(=bJn$ey9-+W4}jYcg@Wit375T7yq{S(EvtwCw4d4Dg$j$ zZONoUE$>5rch`qj$iZ0Vg4%U}r&UhmjSO!Ndrg%7IoQ#%s(ncNyHV%xnwFZlz{+8B z5QH}YL-S^h-K6Tkc^;{W8~S{S_Nr%$$<^fV+W(r2!IW!-n0CLGLrzce!4Ug~3y%=D znv)8})q-6v;y?*CX>~jJfdYJRrXPRJdUEkFDtr&Ad*7(GbhXU5+Ad z3V7Lw?^-eAz$L4F&KgcwAswvb0D(7|^!4avN`!F|gyc>E3M9fnq3bZn**K}kd3|fP zjw8G9%DQOHoxxLTOI0{>`z`wK zViN>H#=y##)foemlpze9hj?D+yWPvZEScI1;>+<`dB6%Q*QfTFdg3zgz1q+?u_YI< zjNtEfWgvGJYxMj%pA*p{b!+kJY+Sd(lyj*&TF-p9ZXsa5WH#hf`l&V1v-kMc$dABI zyeUW`${cJ@7j*AB-k`PaQ_0JdrSTyZ$v`;bnsPb%4<1wli{El0z(s%t=Rxc+!voU{ z0SH*3V9@MUxq1jy+OF)T+4nQ6p{zluOgP(^j5h+*(V6s>^EHeY`e2jZ70t;>?NWUW z962Pc=gE2CO1NueG-+&*9o7k64iJK$8y7Za-|}5(^*1?wfBS!sXcWBiOq7dw2JjD` zj*k)5NGUQVhMk-4#uSpbyCNwIJnD_=99n52Jbdg4&?pfRe1hR~LbdT9_kBtmv?j#XO`P6eNB3A){oRzo z_E4$bq(@C#ONPf=vn)4{ekNYr#6^BpyJe`V8bx=?0>H)2)sjts68r%utEm*|lk;r{i(aFoD@18}k-q9bF!x5I=fdJq(m#36 zSc1RfOFdohrVVVK3PL*B18QxL`91nChot)m;Dc5(<~qOM)Kd!RvihC(%F5cjGW8_H z#NOn*n-wn}-`A*Ol(Xo`41KHA1>ACf5azY-t!LYDjqaOpR+-Dg?Jq_&K5N6Ml3MXnEp;DBezFy)`;8O!EY7e{(fNh4U+Q_2O9qyAIpsDigQ?_ z#rBY(+XieGX!E7<9mC`1qXM-|huOq0j|?3IZO2$`+e|&;V~1~Znkr*`WBKj+S^bng zKE&`vDUpj47!uJnE8P>l59G0bS)eBXV)MyQm#NnYDih;UIhe$IN&uM!C42vZQvwU% zGUogiervHVdispHQR+4QC1iIYP+|@78AZX39vHS_T^X>UTd5PelHySgz55~r3ba@N zmv0QO6*PKhJC0ZxNM5hT{uKXr-WM6AddXPo?VFxCKFMacjl~^|XjX#pLaX@f8`wsl z1RhZB@9#5lOG>7{Nz-wC^bRqGj_9WGwI2u{sYK*vdJ|pvVY8B71*VY0e)W0y~+O*n=yb%zZR78%H&O)`Uf84Ivo@t8s&R=!a!IjVq+Ixr>{1` zoV0u`-;mexT7XiQ{nXQP9!eY{5|Uftt>8K7$Jc>iukUCY@hW_rNtHizmI(|th+IMw zOA#CaqCjbUG9gZfUazk~U+bBS&LN9zV}w`M&7&LuAFb$YHdE_eODF$H7wkq4CTw)F zHrlQ(94p!GQ3|S12sxy2^?w!ni)`(Lz;CJ5R~?%x!Taa6c$v@5vk)p|PqL`hd2fX4 zxvTb)iCIKRVHGj%yuV4yI*jarSGOF^*lB_%hpLelaep754t)IgDcaP&HO$VnjnFsB(I^#i3K8%UN5llj#RF zX>>yy8NJh-#HE#(^Y}u@tP;bwIj*(9*A2EZ{C)|LfH2yCw=MTBQe01$q9qX>xzS1y zD}xb(azlrWb`_C*)Jwu;Of!)HKcrcWH-Q0<;G@*_mE09Vpdb(oz5-2JTDsCEOX|zn z&$i5sB4@w9;e96^U^YJ$_^M@Ddh1%<{*Yv%;XB*jHI3Xce|^c6UJ^~GP9*+FjX^aM(J4^xu`jehM2OT~ z!AqjOZ$?vx=p<7e8MO&4)6_DP?Q%g@+ul4i-S$BScN-{K(LO@d}xe7ma`}j*!f{NefR^9lq zGs1RYZJ0g$Gds%{1$dKPT1FQDl&9{oX)8${OZuz8@N8$2$D`i=yvJm*gA&HV34PHH z$g_K~;Z~XcwPHXlev%AbmHvBe9KzpA#KSEHiGc0xchdwKgEr|RK-ipbIR?hH3EI8c zLuYS&Y0{eyID6*pvWJ*%^=~rv`u4)bGm%TF)qsIquiTg|7aslkY`aBoW3qxX3{Ifa>bez+}_s6*P8?3=R(-PM~ng^t%p z<>h2;e@!;J+Y#R_k}F6p&_B**vMBXUhmsxY0~k?QuuTC>{WQb%Q1W%Eb0jdb3Umn& z^@HX7L{oOb>)~D6+t}TInx5>W0<*sW%@`|$p!?prfz#h z4nYxPSEmt{o?$dTh4Gw5f_$XiIsm_$B3PTQE&$(1^s!ZbxF_rdo4-t2(xs2<7w^-sHSq^>m|OL=#`mqI8g=H%Z|eX`MHDv6^PC|^yKuE(>a9gLuf#u5)uOF^&0==Y~iY0 z)iWtFho_$gi%UobL-U!L2HIyK3t|yV8BoyE-yhdZ6i`@3{^Nsh0nq~mUKd>X-=_@( zzor#>lWtH_y=3cRAg7;sd6$-JHO;@4|Je+G6$&(X5(@|4`H&i}7%lz=daQolIir$2 zUi*mhJR%tP3z(K>2e6!90M>6xViG#R?iImHGbSp&v!H%HJry;6V(EvScR*&e(z<8OAMY7l^gpS-{vZnXad(LZ>hb`vc8 z(KBT``8v){(H%*t_k#$c`2X5_%do1tu5H*rNrjCdY@|B`WYb8;ra>g6Q9uMikZzEY z4Qw{B=@6tFq(oYgl^tzwxKEB8I`}zHPJ^0~atTor1V~%m2bB=M22ysS2 z@qI&@d0hnU(d@}fp@=#)yu)?*4BTJ8W#oPCZJ(A!pt-i$+mY92fd>Ze?Jy;W7dM># z*t4~emXMfVY2*YZx1n}>He|OwPjmO{O?)iccS*W=xDDdBy=q@an;6P?G#J*o?GEeN zuyd(N_ewg@9k6#+bUIUM(-vb|Rv;a^l#pk!<-PtZv;gE;qJ)kgc zoAr&QB>QfOYi}Lg0MhXgFZyQ~yrsC_e9JJJmc@#_K{_bo;*4DD_KS&o-GP8lJis96 zT0YFU#bB~}#Kvw$pa>g&JcpNi^-4wNVU9*S+HTw;yB&DbTGe((Fuqunav~pv#__Fw zurFyaNd{do<7kD3BHUgj+#ldU>@kT?WQ7tSsADqS6T1a4Lc{6PD~erEiiw^A#K|Sy z>OFmLOw*tdD~CQP2B@Q$V$8z`0B&;jZ`Lqonx!X)`hFT}3T z-;{dW#z^`keopMFa zIt>7%6Sv56rZ3LNnszcX>*M{_%#yn%Y1^G7*bE2rS{3fuujXdo7J$_-`pgqzxtByf z4J0QN2>-;5MScwv`?9)O=ij9hcr$5e+0x?-E zrFXPekPqOkqez!q;H!?6uQ7=+sw8O_=n(}-jfVpq^-P5PjLs*D0ITM?RJls8X4dy^ zY6kqLuRT<#cdF}Md z9i*K+1Jz(c3!2WxCdoxYg=Wf7E@S^B&u&2!Q;LHa;~4;YS)GEhN2rI;-4Gj*A)<|M zJn9xJUfV`{QADSrC3Y`!)oVTr3s}YNuT4~riq5)y;HR|zUZIj*zhCAf+GSgi-Mzku zTryuDEwSqnIcj>?l)L53>afxpqS=!Ga6pg04WQGfGi`L~o2ibQB`slEp9W0>BJCM1 zxrbr~);NYoOX|bwyd1lej4STERV@%1Tp7O0rVa=DJNNZadR4{?z0oz*UfbJOX4 zRmr|xa=9tuma}gt(4KQ;t;`hY)5Z0{i$f+cQ1D9oyt5?fbidj;3R#k~cb1Hmp>Ax< z86EayrpjijK3JyAtP7O(EUJ0}tA@XHPmP@~Sr&gbE&VMeQ!$p2PhblLo^>$X(4vFq#g&B+BYgOG&eZjO@Alby)Q9#(p3Vqd;T$r&* z<4ws`IdL;z$rjC))ycIKa_y!Zx!ePFt?`Zg5AR_1=U3a`@tgZabOc{>`MHPJ8}H|+ z`5rY9B%Geux^)|G1pPeXGMb;W>8m}FkkmA?36{zj2tIu19)V22O`DeugVLG6!?f&s z-3u1VRc^kw?ehHApsv#2VM)f$_FzraS1|3ogsLqb$D(K{^Oi2KuZKn&ewNB$zs{il z?zQHIxhSfeSr_>Q*`hwe_o@4*#~qoou{rw7$w8q{_fk}PG7osI>M7sC2F{-|#yrV1 zMJ{P}yOU$Dvp>|ZS?y2FHSH1q>7OIX5EpYMej!mE%EQ15)BuJiG)b2%X{z0S=FdMtr};x_~YS}?3g6Gk@PP)dhIz?Ix=XM@Pb*KBl9u8EBtnZ8Hu1pX#f7{ z>7(YKudXhgJCn|rrzWM;$7kJzaP|POiz-titb=gk5 zg!|ms?QWwl0^3)4Eou7(7A@sABK^eq*0`5>SG{)dzMO_^GtJ1VZZL-rXO|NX7foiaRky@j}~nUz)2!v;wp;Z5gjZS z&zrLCag(wLG*?xvAlYxd8i;uF%JrMK+rq>yU3x1aeK~u?uUJLen!%RV>aipVjx!hb zRdx#)&G#bvCgobRoAC?Nn#sm;ZV`FuRGz&gw`&y6vn-leb02hxYc_s?4z#{y4Hp%81u6EcEz4xd5++qgDp8 z*-CN}HGOph?iERulP>Z*O$z9d4~v%j^M#!x7(E7XZuC^1Xv zxv%CJHCd!%6uZb9h5U9k5bj9VNyurzTLGOveR-$ z@Leq*cq~O&lZ@u#@~TbzEx<>=4RGaLBb;9zdtH9jB6CRYD06@ne@>Cgs^ugn|}lEojl7 zAx|GmC%#2K7>i*iyu8X=x0kytQV)>U}QwF@P`{=T4RK3Gx{>zyz;78| zn;@%Gi2rGGLidG^5s9L4vzvr=*pFGaHl+*Use!^obS??+YkI}lhd~;3pC7|*qLEIn zI2*}#)a}NIy}pfCJg+D{bere9kALB5uTo-o&zctc0mW%jdsgGj$@sbO)_YOis;4r? zw2i+Cgi-EYuSSVx5vJ1I40BTxm9YW1B&;hrd+%m-ZtGoC!^AN9XveztC=010G-0|U zmYdjg(4V5IwcXA)@=B*thA!?N|8ifytEm&4MBd(L9FQ7jYXgX++oghC+aHAgL z9>9;$b`&XhOG=^T9siGhk$*$)Tg7W?#sr~kS_J~jG56VZ+d}z&F*Dzd><*R9R4;RP zNpb4rYIUJJ2WVd`z&@&lEq@Qo>ATeO8}JEJ&DSoeSR=V?yM9`uM^c|dy` zyp@KvzkU-Qr5>P)MF8(O~1Oo%sD-XC0-IhF#(6&eXt=2Tu z%40W50&+^c3$|~P**tkPD%~*tKm{-=M65}qt2d0Pq@vGSl4L{4}%g&(PivJ#>CEU7JWEu&9f#< z$&k7{x?4L|aqL>BH}x%}iy7_Z9BY!0qwW_T7V?2urs^`PSAh|MYU|IE0gXKPI!scNmh1SmbIj@4X^oWg(i zwNI9+P?XeZfD}la&bs}lf(udV^MmTD(SVaF*LE&>`l$Jo;lT%;Otkt8 zNzD!B60eB6!0+-OI?!o+Z4F92h^v4uU`J%U3<);l$?F*>_9~epRfNr6EVSlpQA9DR zi&4iJ)wvyL{PN(D4zs}auS+@~REG!}KU32`GJ%`u=!{Z?RZvn5Cpi!sVnL;oeXtjO z8YvME^(&nUf85Fmi>>ke88@U&hdUa#(qKpg8;f&V#$vbpVi8;JMte@eW}lu@m0gS))Yc z8+n~H7jKS+Vcsxgn2X~w(U7>!LtX)o!uQGz8wNP`hh6BZV4w_aoFckh0seSqS_7jc zR}4Xb;Lf+Y9%e2G-AKbUk%y~~j}j;JMLf%*ZyM=!;Q3&H5fcmGB|POFzjN2qoOSQv zBF%oer9d9Kp(NJmR=1USHH*d5ZBc#MRoy+AgsHN_;uD$tb#mpW@h6yt5PP9U0!Wd0 zi5$j{oVY2Mgc{_}~4D z2b&bH5y#Px*?ROA(V+24A<;PlnQE{s>+D(uxb(x9Fb1 z+2KPR!-r0fmwf|p>8h@!6Bi&Dp$y zoVPV7CbEz9m+{V{hT?QC$J7+HbXj*aax}H=x zu`@c~_k7K@&%O65$Tu8U>7fT+?;x}ug?(jx^y$e=s1hU3gQ4a;W4-vfEhotIu~3+z zyQ{D3n_)u008Km+@oOKK4XF2lwB8i zN78;g7bccxq}>;e>Cl3N7BOzZVW;tteF?D-V-WH{l+D{ESB_dqBOx%FvL1W7E>~Ew zEMKngs)FvD&t?c#H&kR73h%kws7%GgyOgt#1l2Lak=z`@C0}Q2DT79xEXQ0hoWHh?P1M*OCe3&(imY-tmdJeNU6A0!Mi)y zIpqxId!*ER4yo%B}8eO(aXT%Nw_cBy;Udc2&4gK?NyV(&|dCY~k8}PhjT`r7yNS}Xh(^{*f7o)*67_ggydJ{n$v!Zzi3udA zvR~}96+We8#~IMQ)^hH%Mh`8NE!}wfC{8W6FWEo={_Lu0C(VjUygg1-^%`KgN5TJE z?yVwD7fM3_1Z z7|X-?JuzIBSs6^i*NmsyX$aV7VS?OPQ_QA>^&&y9;8Dn(Cvze?vcMMc{G0^5&0XeS z=K_GrU+!D&pt^X-eRjL`&+?Is{iQEE;!gI?lVT_8!92CyDkxdG7O;*2FmFL~qN}+Dj2MP??G0hTi#q=e9O48RqQ}!W86J>4)Sey{ zVZCnTH1={etO9LDU~f0@iU4iflPscuNS*!Mou9R2eDN!R*D?cayjQ5l4|W?!WO>!e zYe+xW7C}cRn}LZ(`Y}(b#^MEum9=+-Q<+w_Wn(vWM8%FFFqTgG>BCnh-9V(jYs%>R zwgBhq9dlFD`qumTc{$V$)30t8=o~}r`Pq3C(nXo_tL43pw(^n1l;V)dByz}kP?;L6 z1shfQd(c?e1^QJ_!P6YDRV2l$z)6j^5v(zn&8np=2Vx01IQ!j*>_Y3G)y>1%40QE~ zxrVm(TQfK;Cl^Ok`6gdqcEsHA$Nm+PW?ZQ0p^N$boXYF?1ytDOQG;w`Ur9ae24r1sE?9BRG;7VAoAG{w+eJ`80foc z5W=n8?Bu6v&SuioMb~2~9y_%S7wX~b=6#SZP)moGFt=*czTI2w@-=Bb`sr*`Vy?i> z7ACkzN}P)j)K0%|aRLvVJJjB zToK9%LH8{!y-Sfh!5cJjW>AcYBFBe>MjMDXVGJKK+V1jiomaG^<`axVd)YH6jS{o8@N?9A2 zB<5WYY&lP3LxEwGoZ{nD^9!tN07;pA=0S!T|1C!7hGCe%6CeN<*P_UaO-;KKuOi?I*U3LP{gZ|I zJ6+-u0|ys3+FZZXH0acCuDL{a;YW0|RZ|ME4;4NLIeK*HEyn`jD5JP~l~waAgYFKA zT+N$_&oUyVRW+EBztZoNVv8=3h90}g6J868Q&rQ2)eV&-x4d3`Yj#n8%l|Gem zxvA3nWfTV81Uy>Ct?QbsgMlfb!WPiskM7^c!GVuaDP5&s)T|ZNfQjVN|1?-`#sGp;G3|pX_bm~y z%VaR$e$C7j3sxKO?^NnI_wr>PGZwZY?q?z_JM}|#@q}b#+&=Kn&*5^`Qak^0%@*IS zA`ULe$Qp5-J_R_0(dApHfDb->!_}obZzteLIr*nN?1iOvDgUI%;Q^s$dBE%`>=dIv z(7IM508}mo@%3ws`R`zHwP)P*8Z2KRw$5tQVY$q^^3^4!yR9mThyfmjmUtG)89)hy>}VS;qy1jKm^81jQ>wwkLi5?oTeN`qIa$&z^tCm zcy3vE7+EIj+wqvw<|NBc_kA#ZwLSh|bJdU>8H4CQGK&F)lShl#RY;NoalOO~T39^b#|r+OlbB&Eq8DTwg(y%8^9oAyy5 zyMniVS7Bu+KURTH%xPV_YAM-$aLu?sLmuWh&LcZo`T4b`l~QdHpZA_}NpUKEO_iYI zDlh=vtgx1u*xYKzwfB49rVIWgI!Q`BAIMVnMaZ7}`1`*@%4(mmKo9!NG~S>NZQ@0L zAkBq|f^1(eZ_NZ!X|={LbtPtV*b_$Xz{#qkk;g~Sk%V2IzCa%|mzr;F3i!NIFjGYJ zj0)av&ZO$0YdvWF)@rtu$~$U6<*_pL`MH&sLJKG?oWNs2crtj=OkxxjsVX|wvr@`Q zg^j@grCC)e(AO!dIUH}ZQf|))_!#3F?)g0s|Jlf_i^%48dkY-tpM80%q7l!QI@Qn+ z*Q~c&vTV=bmv_|!oj3Il$Y;+;kHAc*;0{hs#(NdLO`JS^O&OHVjsDo534axuHm#9B zun`&(dSBkAZc&jQADe$-`(t$k_ry)7VvW3VFAJsBpnDC+SEpOY$)dg+*`|YPfsC{@ za+2(HG_*AIj^8hU5Au)}roFK{peja89_5q3#Ah>{8zpokW=E<|2ny1HgzE<1-ueKS=i=K4fsxu6nJNT191ckpt_hsM7G~LHG zMOp*!1x$4SmX`xYYu8InLZByrjX?vYISB8iY@Jsg%gLOP2_++bd};zG88;|SC;C87 zSC2aDw&@j@7jOFxJ4MqArnf&}FQ6bgu{bbW(otXx`s74A9xPocVPuGfvEZ#R< z9uzk(ZfL<)(>}w2 zbD0Ss`SH`BI>)@h>*BQC4_}m2u-?a#3MyuJxHXY2Dzh1tRrF#y>vWRgNvt}x9aTHOIq{zZ3Wzr z^aCjcx(s4h=VhRThNfGXxdmNzvRfY6y~erk_+nA^JtEJN z-By3&yiA$BMc+AM7b$bfSa=Ge^Ay+&v>7z)@9#os!Azcn@8I2hac6w`W^?vO{?ArW zSHJgXEvj+U9Wm^Y+}#3F(050FpAG32y*QIU+VowkNs&{QZOZ za@`73U@pM=PK^GHkKW$Ieg1N+=YIZM2kS$MoAqbbf`w+v4A(<~gXiC`702Qbv$lnB zo8>^I`e*LkL7C9D?;2h1lH_`CR_z|}PqnR&m1%kjdNkNHc&#?D>y;l*C8oSei5{{ZyoM~rI&ofuo;KPkb0F=W_7L^1)KV^uHy?aMi ziN=uTnRxyR;cgt+WSdP^WfOoRS zND;vxum`*POBOs^BfgZf!CfZ9D)z92jQg>;_c@UB+S1-q@9#!)e0ZF{^QaO(hVxm& zJL)YuFP|^_r5*aA#GxHooDIS`WXy)nE(X&A4-AdkvNInn`tsax_3&Fiw4HPO;{iko zu%5zRL(ECWa`s@eQ__29rwAUDvXMidOx`GNeHI4t9I>j=VC%+{P^~nfmaaWjhVLJZe>gyv;_kc0~8aFocSgu9zvRW^##q(w@M`a zpOoTZV2PuvBjC23_pz}N=T>0tI6B;Afa^Rp&~(%fUjcBSQSWlJbJ68CBOJ6hyvFMd zbM1zFzl{@WZe% z@BJi7)Jw`|6<46wU|5K+X>F-dOnGwY3BVOPS(HN*lAsdg({*LX8K>)IJx-n?oJx1D ztHa#lzkLTDmZOvXeu=OvYFHOXa?^9W*jvVW2u4_{f~znu))aWNFOAUAfd)g6mXYQj z4b(&iX6Sh^w3=fVKo_QA|E?FQ`G`@M-Xy#GgQj#@;`7DoF90K3N&H?k{B zQ=5g9(Rc8^z=4prP7MMr(N-Z2P|(J8rkP}6+_E^@vbYLP@eJ-~zBW)c|_GSIC#r>y;nj;MmN!5h6IZk5z3V=n~xD|%AFPq0& z3@~eoy7%G_jp{uzI-VJMYRYh@y}LD!(5byaBH?kqKcL!Q_Da=}XHwTdH$0R`hov#6rJ;zH4eun=m{Rpeaqn-nme3d#20Q!H<Vv(d4zPf)O)RX)xF9H!F;@=07l(~OjpFF> zT46W=%u!eoJ|8vEXW`~f<4(;<R`ki>Tx%_q2Yh}#?{~3R)h&DD|N`!unwG38X#|ZS1y`0jVQI72g_GJ z;;5P@j3)71?2Nbj!IDiLrP@dIvF{Z5`F5o}SFvJ@>7<@EbK9*C%AtM8vGNIhHf&SQ z-&k8T!L&*2qtNw7@1-=RABWtRLCK{v^57=MC9vF?GXJNc%F;P)?@BfLRy0I`($g8<*r) z-Tr^-4C2Lm(S7)b*0j(IQl>FadMQ{ncDLMNbtD(1-O$p)5|art>UWMg3mvdo@12@o zY1dz#uIk@i8yEYx%1`hz4vi`_> z)|1RC)SGYG)OU+0Fi7*bxzN;q-9PEX;o!A}=h6qew$wn@*}zzq^ro5Pow=b1b8<1k z-8MQ+Y0`{`I6pr=!NqC#xP6CJg=F(58}2VJy@l6Et>XZ|w+9ND{yb)fb}hv38ZMa) z_HRzG>(R=**siFuU&@n|5lGHpNUz}h;N0h?PgXnvVD=#CbKNk-lxGcI8PydhWnYOx zqL4K1j|3_HWSUQ5XZV@!d-l<+Jc6PjTL+N#xHoqs2#!UX-$>=9 zYDVc=x$Q#nPwD5WKVTfv3&Y@roXn%N)g7Hz9~h2)*@tNq>Fb0Ry=(z5Hq_h&yn+_t zFk=ux<_QN=dG1G?wr1OBtAKTfCjg`sQG_Ey=0^Z1N5@&a?VBew@k!$5N^hzZz1Rc# zKs^9tLBko2Tl=hpMkwm}?1vx53!1z)_M6Lg{$(4;I_NXWfWUho_QLm}-e;w5fjK;j ziLB7P(}`SlrX_QBIP7#^BQQUanm)bg(VIm>o^-+<0CZ>`-%2~r5VOx(#py+u@6$pZ zB{J?^dU(=Rywj8vf>bKBn70uScxd3qN1GB#o6U_$%a`BVg*J{^C#%lpF|Nz;wLzf#mlQ zC>oqU455fm-Uc6_YF-9g^^c!2jA!S*G~h>?c6PEK>A@1z0>V9=8X@!tBRf|%Z-x{! zpU4iNchYbG2&6>+ z%c*}lLqeX@ryJ4N9nHzWiVW*?0kEHbTkz_9Z>SxgpFPI3+>4;#tZ9Wa$^3O+ZB_ma zluEYBWG5HGGEFlM?#7I04&kg9Xyh3u&r{L$5~HcjNRcP|FlU}eFv7asL%m(@z`lS z9Kf2AjsZtg027alR1soXoS%zEE{}4&i5z%mm`VS1{-Hs&#*=FUogZ@4wd1q3p4gtp zB-+G)DWw;eSp&03N?wHzx+Ru<^m9`9BJ|9719k34ap(KD+TL6N3^iB(;Lq&c|2=!s zwZO)m84HzoN6WxX75If=?pIx@_f&nS|E#ShgJSg4=*_YJ)a!ME^?H?$4e9C3#;WXJ zos2YGW-{vMYq3itw@6(*++Qxo0ZdSEt;S)6kXWwVV^BpcV)(A(DJ!A{tl4H^N+GY3 zR%~&5l|*xJCG2>(!j$qG*y~3t$_8V0*eMz`y|)ng#YSjIQ|;T^m7w*=ivEjY#nA*H+3gO<@e?r?aW|FWtcf z@hUCOVLr!IYQ$5du#+Q%&k+2la*Xu4LQB&zgI(pb_Ajn`X3=4gt;$}M;38@Cv+YJ) zPKTuTk)}K$TPukb;)4OOL_W(!?Q^v$Ka>6?esh8qG}XGaU#FUko=APItwMF{%| z0wnvW@gXciZu{oMKM}&A)pf_SA-k~+=Q5smS~GXtR>mtVX(zhf!Lqck{J`SXrxJZ* zdX9|Sg_x5Y&?w-dBiQ%ALp&2t-DKB{^=CvI2$j!|riK30vGx01^CxV&tGA0SPUt3b z@Xn;BN90Jqq+KiLi3Bl6u3_D&L_{c4(p%q;%*pCyA)-yT^K)ThqO^AlN8$)~{T4bx zPh zJTQRnx4h;ZAmCF`;bOrN@Xv#gwvL`>CrYERFmYhx)8ibitEC9MvhUzj^A$8IJGnkR z4t_6nC>AyA-Kxb=wBog`)G*;)xgI~se&rNV1Bwk94TFN=PcNjPymlEIFLm#G)w~S( z@n*E)qd1@ENv73UDFdMl);9s$*(PH(KZLKe8mazOkN4$(8cdS(?w@K5au!OzdWdHb z;v3ky?yH2~{J3RN(0pRK0=$4kHa1XfKV08^qr%QIUkkQ%Fk&FzQuMQ$qTKpXpi%+A zGv?i=-<-cRzzJo4(*#W18b~SPml=AC)*MTYsn$Aw@$G0MoPH2ei zAP`FXICyK5`ks8vD;MxgMP`eK&WBaC^=8uJ2-*mRTBl_o%j)>rRqjG9~ z#K>FuTie)UdfL@A>&17D#pka8`jZ6 z+`rtm+nxikHO5?z*ww=$=Piy~w{F?#b|vH;2X&8-D#8*X!jFHZe)RVCxyJKA;A78T z&tpzn=vDuh60r5?Dy+8BH)^P>(DdB373D|yNvF&#mpnX2Bb4^h^X;!U@rgRVBNCIn zPAwcmSt!B!AAq!JqS623sklBGh*Jv4h2A_ndUe6o^^Sne0v#ge>MDGjjC6k6At}eS zNn!gvNwH$B=+1cO;Cuc~LGbb~G2f8N>OYEx0RyAX3ZmmLH&Cc|G0pksN=z-db)0+vL;B0Y)*^@@K z1z)cV3|IQTM-8u%J+%(ccLIeZL+PfONlos1mDt(QK|iR()B+B%)OHTepj3FmzBZVf zoNq;WuAx1wcZ)?%nbB2B^{+ zEBB6L`w09v<>fyV>#K;5L5)-UR>Rfi*01GxVf$u;?C#B27_XE9X=pZk!<)1BXe+OBAv+sRS=+%xNRDVQ?uI7j{(9JIm zJu_nGHtT#MV=(!d%KKc6;seO_GK`ypt!@4sc@QuIVL*JR)E=;{1}qF3=taVVGn)U= zc0pak`9?j9ccsY`P+A+OmzDuhi;a!VMxE12a*R2*n zt_lqDQ3@07(gp`rfXUgJ)wxCRT3olNY{S0CNL0fYPi;&*`{2>@cS3n0=Di=|s<<%m zDId1!1-Gg2{eH(iU>+WA++LErK|d|`4jqAy`ESX5hM12wn(N}3d4sPu8sa>2e0a9i z!09|`3)qT5scF01E5y9#UKjsD)lzaKSP~la?9W3%F}P0~SW8kj=$|Ws554{04+Z{m z+5LDXkSgyS31)bZ@xGQDD}A{TYvdK-xHc>g>Ycpoi0S_*;kWNi@Z|=0)l4tm9v3n3 zLncCe5maic6cgQsGhB>5)9s2l`BfXgg0a zPI}N*HNYgSTaGCC{}FAe_4&6tUQ+&f50$sSouPyZtC*P4?(Uu+xv%GM*Zc$f2`tM4 zSKv=pC^PiulUd$>1z-rgZn)#(YDPp_y#|n!f*Zq@)oe!v5YqhpfOQl&^eL0Gzu^*D z?mZ=XV7Btr=cYwHSxR5()PI)S>@{bwDG&z3eg+f zK(KG9k3TRBMr1gJ>0_U?I`@}T^`2v>Z$qc{c6J!DGTZQuf7E9Fs|?)*`=jn|JwTCF zdb8taE^LC(4AAD~d#X-Szne8gA!mM3b#u&PFq6(rP}lZJnx@CX+m{3G7c=}jnC*LC zF%Jkr%9$W^aDPRAzN9E&WGeT*)#6%axP&e3r^U`SVdQu|*jQU3~FfR6Z9 zub`r_4-)ZD^+3V-DENBkBtu4v1r@1;X=DE-jSTg`5L*jWv_Y|W&f?B|1Z%b0>Fgv z`pn+4T1W!}n(5l5{ayP_A>{DHgzxpB9HrOsjDPDZ%)h+*S&wPK=t`hf1qPyUks%H=R z8h8(RR^uE?<#qh+P;@^;aAUGc{XHH9tAUU+2VdaGVpn9>l!v<2uVGZdk#RRzr++|c zNo7bs2QUzNV5h1Zl)oNQ*sMGHW#u;hMe8r$izNbV_+A?b6RE-tE_yoYDNs-G5{SM{ z5Lt41XfXhmzwzqw#BdrJRv#_Xq5dBZ3|5%Vvo1io=ih{q}DWDqPUYKbn za9NBUpjnY+~J=L52jd(`>S=S0qApghuX&lOF$0p8Koo3^13QJ5D{HN(D=4HNibrr z-#W`I8aX_P7|xOMm`Ygdi%K^0MieCRx_|yLfn}RBQt8%3#sC#NJ8GaidC)~S2+T=# ziWh5Sid)_&;nCIieyv{rnvVWktkpbpvRv7l)>lch+`>8sU=6d}v9w}UW7j(-hg0h_$fSJ!d1|BFslqa+MP&Z#> zB8Xr54vI?5(9X_&VH@^xe%-#CMQi&O;r99MJHf>6*MGRsLJNm7`@*^@P5|=34MU++ z{CmL*SaPS)7vK>UuNf%kp_zF|)=sJnqjVfpvs=y0R@fM?SZH}*V|uqm$))S z_YtQqM*xhXhzJKlC#zGa*}5idR&Jj^k)LED4HQ{8nU4h7lg}H9$BchlyzLYqv|cHV zneY)HXrVMW#SANca23 zF08MSvrxAJ4XQ}ihKOyArlRb_D0x}!Fvb(+AhO?-Ar=ZP90t|oJkKl*6+C?sSNq4d znQcS=V$en7zH|zbGtcY$RT5pIbk5cK^O52=Yze_AYWu5w;-9hp@2N4p3+&*|F~uVKc3>6m-As;6;XFAx z336<#`RhkZf|6836JO;s=zQt|0!qEFE*+BGm=}|b(){Na76Obpk}&?d`HaEG&$ZT+ z#eD^QT!#79uZN7`qy37}tPJSLNNuJ+MOOdsA8H~{O|j%ol5{m8^JJOqU2=i&q5;*h zT2~FBm&<~W{)Rlj#U?0N=h4HO{=$<6Wg+{yC4gK1w|GK9muD%{2XV?-ds*W!il;D2crthA$UC zKYu{Y_td}6pD!rwL~n4Y{5S0K`$q@FK)8JIiu8Zmw7*|Z4LGvf^0A(ge>3*qvwa@` ze4W0^i-dn2#P1K615o9^r?7w9m$yI(r{|GX(*K8X0LTFiK*Df`vA-d}f9&fzU|$bM zO*ta|599d1Q}TbO^7{(?3QLiuKHfx;hHQ<-LjEZ!T@3IG5A2mn(Q>{1rXQ?tnu001j3000aC003ieZggdCbS`RhZ*I+6Ym;2n zb^R;UCST{xBzR6e+zs`J!z(bGNEeOr&Ds1hX$WCIpB3K)cK?2v$y zSU|uw2nhcrp=U;){1>v$?U~zsdj`32g{q8HQ$79Icc1-Od#!!@d;hRCNLy#NM6jM3 znz{Bq$HKJ>A_f|Q-#WDwhkiQ6o2J`2H~705G{cO)_iukP|LFQd3{OqQ?|=Hr{yWd(rD-#n#b!3i zXAeI!o?JYAWoIx-r)PuHJAU`{Y!v*^k77>M^7deuCV5o-@J-|6Hl9B7y(6cT#ZOQ% z=MW0b+9sbo)k?28ad7>Gz1QA-kgcP4?!El$`FpqLcVD0X*YoqY-rxJDn}7K9h51{r z@4fla+4E2S<^1Neh|m1fTl=s7V1Dzxy`TLHjJAHH7!z|$lgwlw($P#@3W*dKA}v0% zWZc%%-+%h)Q-_W-CxX&OD7fr=w%Svc98*lJI6nWyz5QQa+r;txd!Hk^^PjwM@cA7) zsQ$hC@!q?)kNk_AAy+z)7^NdJ2u-YGlnAS-;5KR@>{fMdHF1YVZ{C@Ia&PaIk8$oJ za|{vpvUrjuFGMOTiRUtsWV4h(vPiSo#O)`xC)uYXtBNM-m`g zF$SNG*&tdakiZmN@-n6zS)!3|a=dBdC(V&j98QLiBuTWu6gP>~P9lcul&I%XE7v>S zWbJeau#~b`B4~yIohS)5!+@vC7s{>X{+NNm=;E?Q4bL_UVu}<*mVnQPkcmo`32nXM zH1s~-iXll}tt*E1|Y{=C^*jcjv=DeEND9Ebc_iiV_|b zs>qajVlPN`jH}>sRK6nZV8>s~^^nsEz;^43-#s(Q)A4K)^YpJoOpfOSH;O?8=A1$f zxd1(Yyb4&Cv#`>j=@M67G0B_Wj#k&lVXxwXy(`&>}LSK7){%P^&|>lm#PX@62Z(zRW83684)G(0_bz--L{ zoOi{h7&NeDlYm_s4}CLO_9D1JEEYwMA_Jx*15BWv5*kol!CH}QKWfvfD5A-DH2C`^ zDsXPHb&?bBQQjy;v>q#oBqNNAsZ_-187V-O;nAmUv|4cEi8lr=STtL3l;ddBIc}_? zp{#`Huzpesz;j|%tYI|>F!i1&OS3BpO=H+9uW3tg@BKG7s@FSrF+Mw3anTr^J&8yc zN&^5BgcF!6B@_%S;5OaF>iouy${ue1djIx23wI8F`-8oEFVzBi?$-RhmltCef8M`+ zZSUP@;KKc1{cQf$EAvmU;hAoT7_Sv79rMUx!U0c+MU@iGKzTU)MEus_3FKw|`Spj- zfAh!)P@fqVHBs52`z(Md@L14&N(U!I265cvOy9T?XU%xhbzqDRsRZfq9vp~cbUF=~ zH=GsFq6!%s0YudoBMOZII}#N}X;si-{TiKxok6oSKrz^? z!@Q-Uh+1J0jzvQP7z{#~(LBe3c6hc6d2(qS^D=UpNx^^-0n<}@kI{tz14|fuAp(L~ zfBr29&N&}ps~c5D8kRUyq~HMX2Zb9DI#N=}g5?Z)O;50Lemow2<4W$u9R1-0je#U) z;T5+qRWUnAmn&+qQtT!%kK;+M_Aj8XyT)WeW`pUhGrCi{TJ;i$ZC!O(R9p8Rh7J{w zk#Oi5T4I0!q(r05v)_5E#0tT~cc8=9%YC1HjJJ(%LSi55cXohx4l4;?7H>-oNQ>Lf z1*Uh;QWU$hfNnQ^ZY3V48QlL96(s-o`h8wm5CHfxlVvbS86I_@vO@lFpsR}@r@-xO z*WoJqiarJZO#J40h$<5sOwxjD^9Do*6pmE;88vu{Hj|Mp#7+hXFV)soXSrDHhzPO&cJW&Bf*9`$;#g&=$gHA~VWap2Jj zMg30>WV1$**e@GI6IKm9HJ5{$#5g?A5zb*uz^)o!SSiq8wlh7iqM>SLNJ+vt zI9As~7xW^_R%wOgBi23d-uiWx-G^n;&%}q%aJ2wYy1m19J;)8wo!_b|dECK?_ovdI zuGFRRX^nx?k=ed!_Sz#t`!_2?vU;kuyA|d}!|m-wf23@!<>Y%K>V42c<>{0;K>hqj zr7wcs5E`rtQYN8UoWnks*MlENn-j=oGR?Q>F+GZB#5qtIPW2ZIVz1wss5O|$@`w!^ z&&#D9huN0IP0@RTJtE}Dm`C|mYbGNR7whUuL7@&~w@mzM%S=dK zak#)4`HC>TnQz!Rpm^@9(uR8*u~eOxftOYRWuYfjIhaBZ0T1Nt!vG4J^4mi^@6dUg`oB+(;IBJhbD#$~d_ zZj(xnnWj4L7~vGjr851B>OMxeVoI(z%^FLI{Tx3{yP8%4>}un$n7qC#iC4( zJ7u>I?joI`zw#ir@HL4;iO2Dz4b^Y^kdY7Lwq<&WR-F3u=MZ$vme6^}D1){bCLVy4 zA{`V!ZtAKKG7em^YRyRro>!JJ7ko)}CeSs@DCM(A*AS;iytJ+q?{rCsy|co8O)g@8 z_`E0RGn3i`R~m+b?6f<~)1C$0Poo_)dlSx0Fv|7{u^B$Gv*S~HiPtG?Pg{1^O+K(u8PaPIkA^b^GOjbkf|#Y3pv_)JWvse8dTrYW@p){9T}msYIWTf+}6} z#O!(vb@R!OE>DjJm*)X%Ur~&__Y6W#g;(@rZ=K;pu`yV5`01}TG!sr<;k~__Fm!Dc z)H)tFexS=UjOsG)8aWaT?tv8h^m#3{*6KqqSiu37R~MRf?;)Bxg?b%zycLu7zbE>?wWT%z@Et? zL{5K{WD&I?15pgujr>@1%4|RsuX4M(#q`=1aag;(Dlrob9@({#t&4}rkc|Bb8|_-| z=*rj|zBzh(aVgV9j?>6&y*I*a+VvXFPwVLo_9~?M<|1lRNGJI_%h9AO<=}2n4P=D5oV1@flxS`G|V} zPr=MUclU9j4J{8+ zsUaupXu5Lp^D~cqif7fpr)fuV>+_3V4-~7?0Fgdt=LMgR+S z7*Z$djizEBoww4(K0-7;t+~@YArzHcc}s$_T47~Dkv#Fc!0Y8sb4sqdll?B1w=>D+ zIZiJ-tB`_e;F;Jsp5{eYPrvEgUmFZ*Z^;;5m8OYh(@Nc9;~`T|-lF&2711Kwc2pn} zDogd&f*qEZCeQ|;&A`Ld{{9t-IooGd=M51nn1Jt0cQ?_+5Rzom?zt=vkKlFbm>& zsMkHMI8bV2QfvZb%vd&mIX%4HN}PyC&uGfQYzmH1k~#`+J{lpN3J}Y1!tP@h&JQ5> zPiFe8=C`(EYKk`PcO5#~cj5^_m;Bv2>6mHG*Zl#hv`iTzvF~qI@63?6aqmIyf=a#b ztTcrH8UcEeReK{m=i*M!OPLKZht;c_VG5rRbxO;*akZ%o0~M$HpEgFeLy~@O=@PB_ zqV8rDNsu_yii$Lo2}v!#w1iChr}J-T$nLZ493H;BE7O0Lyta#J z6n+o@03+l80O{XKUOrD9^YrKRrn*4^1Ezw9s-`Uoj_6O~E$Nry=NM_^=Naj^yb2M0 zI`oG(!BWfu%xvEuOx_5dX-V)P4s#+BNwG#73`y-3bbDQ21VhZ<72V$#7-cS)mnsl3M4;!d{R^#iHhYqvu-`rXa&#%217&|DJI9wvf;p3#ZK- zG?tdoFQ={-&m0&`*vY9KJkV(k?un`J@!;K{m#m`g?To8`g7juV5--Feg@%WRH#UqX z5Bp+D>!l-18^On%AGoCt$DGa(T~ z$08=dnp2xy=DRWp@g})h8#ago(W7jyg@7Y)jMsj4KsdWyh%C?!sW#q z<+EsrC}uJe$~V#NcB;^IXDjI@BLrIp0?_XrQJ?kkxI{$NZQEZv7htON~m7L!Lmi1r;rU~(@~^x1-KC>$x;U1MXIsI7h$aOun9rfmb_@;^T9 z+K~bV(0EK#b$ivGY>0!S$=HqBK?N3e`jn{TF=(wso}K+jIU&oEe638a9MI^b3NoL` zeD>q`HLx&J`jCv5sE2v%k!bZVlOEOuj-RQx-E3Q1_hBOZOoyHPOjbO37Fos~ZXMeF z7RX*5xUvA;otqX^9`TVpY!Ld zLtC9&1*LuhDFUV>p>sNog9nowBuF~F6HtY-l7`M89q zCFL|CG5#ETsa-PtS#_-k8s{~uvvX7`yyCRO(KBQJ)IUJEw)ujwX9YST%p>kBVf_mu zm{4MD@F`yfH>*jd_ONESG41LJEb}^2u3N&gf0=e?!bg_@_`L1d`v!pdz90l=>z^JiA1rs%#>;y1*!!u+OC5x^=l`JH|IcZ_7@nLgaT8-&J zSMJmUMXB>)$pl|acd3Efs8LtXBgwW`h zZpm_4BI^F3_g(1jvC$$+BvAaCgr!dvULDNQ zRIAuN1My9eUMjkU`n6jneMYYs5VLYf+1aWsFK9MWNwr?NiXaWce~98?FHj^rtE4_F zXm=)p>z4!d`Cb-h$uiw?UnT$;ry>j<69@|e;dqZl-rOacKH>BufSOb0l69FmTD%@2 z#Bznow>RzeM7>(#?j>R(?C<4E%N=}NS&T#%K!qV%A8K4%f^btnU$kg#o2k!wFA2rw zyI*4GWW(I0NNHkB+v+u+1lPJ8|)|ja7#`>_7~A` zs~Nk|kFe^52J!VgZ*4L%*>Pm>7G2Y_ai}@)9iJePyxX-MaksGQ2<&-hY@wF?_y>Jl zdzo4IWCV}d{jt-t!TOQI{vELWF27g8k)-O~w8L$YXXh7Mep|ZJa|Vs?)SkyZGauEe zzic=dF|oOwS{C7ab-1kE5?-H{w|z9zcr;|;XLnBh02yIrlPnNl3|q9SYT_@~OV-}M ze!2;lVzin3O!oZfZ00D;g%SWX{&V(U4sz{&~h(fW-{qxy}!PP_gM{P$q|4XnI-&Gzp@^RepnFJiBa Q=z0MI0RUq#;dSf(0C`Xex&QzG literal 0 HcmV?d00001 diff --git a/15/MQ.png b/15/MQ.png new file mode 100644 index 0000000000000000000000000000000000000000..e7809d00d0d5175a201a0eaae7efe2c95c37594f GIT binary patch literal 159121 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