| forum.bitel.ru http://forum.bitel.ru/  | 
|
| Pool [data.data]: Connections limit is over!!!!! http://forum.bitel.ru/viewtopic.php?f=14&t=10237  | 
	Страница 1 из 1 | 
| Автор: | Jolly_Joker [ 02 мар 2015, 15:56 ] | 
| Заголовок сообщения: | Pool [data.data]: Connections limit is over!!!!! | 
В модуле "Bill" сформировал счета (1240 штук). Теперь пытаюсь распечатать. В server.error.log наблюдаю: Код: server 03-02/21:44:28 ERROR [http-bio-0.0.0.0-8080-exec-1] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!! server 03-02/21:44:31 ERROR [http-bio-0.0.0.0-8080-exec-4] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!! ... server_status.sh Код: BGBillingServer v 6.1.1044 / 27.02.2015 16:23:14 Started: 02.03.2015 21:10:52 Uptime: 0 d 00:33:46 Memory total: 1 197 998 080; max: 3 817 865 216; free: 770 921 016 Memory pools: Non-heap memory[Code Cache]: max: 50 331 648; used: 8 321 728; peek: 8 332 608 Heap memory[PS Eden Space]: max: 1 310 195 712; used: 314 240 392; peek: 1 003 487 232 Heap memory[PS Survivor Space]: max: 62 390 272; used: 24 140 000; peek: 55 061 888 Heap memory[PS Old Gen]: max: 2 863 136 768; used: 88 696 672; peek: 88 696 672 Non-heap memory[PS Perm Gen]: max: 536 870 912; used: 48 900 256; peek: 48 900 256 Thread count: 331 Connections pool to Master status Idle: 0; Active: 300; maxActive: 300; maxIdle: 20 В data.properties: db.trace=1 На каждую 1 распечатанную страницу уходит 1 "Active". Что делать? До 5 числа нужно счета отдать, а мы распечатать не можем З.Ы. До обновления работало всё  | 
	|
| Автор: | stark [ 02 мар 2015, 16:21 ] | 
| Заголовок сообщения: | Re: Pool [data.data]: Connections limit is over!!!!! | 
покажите вывод Код: /server.sh conpool 
		
		 | 
	|
| Автор: | Jolly_Joker [ 02 мар 2015, 16:31 ] | 
| Заголовок сообщения: | Re: Pool [data.data]: Connections limit is over!!!!! | 
stark писал(а): покажите вывод  Код: /server.sh conpool Код: [root@bill b]# ./server.sh conpool 
		
		java.net.SocketTimeoutException: Receive timed out at java.net.PlainDatagramSocketImpl.receive0(Native Method) at java.net.AbstractPlainDatagramSocketImpl.receive(AbstractPlainDatagramSocketImpl.java:145) at java.net.DatagramSocket.receive(DatagramSocket.java:786) at bitel.billing.server.Server.executeCommand(Server.java:420) at bitel.billing.server.Server.main(Server.java:371) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at ru.bitel.common.bootstrap.Boot.boot(Boot.java:129) at ru.bitel.common.bootstrap.Boot.main(Boot.java:178)  | 
	|
| Автор: | stark [ 02 мар 2015, 16:33 ] | 
| Заголовок сообщения: | Re: Pool [data.data]: Connections limit is over!!!!! | 
Код: server.sh status что показывает  | 
	|
| Автор: | Jolly_Joker [ 02 мар 2015, 16:58 ] | 
| Заголовок сообщения: | Re: Pool [data.data]: Connections limit is over!!!!! | 
stark писал(а): Код: server.sh status что показывает [root@bill b]# ./server.sh status Код: BGBillingServer v 6.1.1044 / 27.02.2015 16:23:14 
		
		Started: 02.03.2015 22:08:05 Uptime: 0 d 00:49:28 Memory total: 1 185 939 456; max: 3 817 865 216; free: 440 221 976 Memory pools: Non-heap memory[Code Cache]: max: 50 331 648; used: 7 862 016; peek: 7 867 392 Heap memory[PS Eden Space]: max: 1 315 438 592; used: 642 784 848; peek: 994 050 048 Heap memory[PS Survivor Space]: max: 59 768 832; used: 23 976 080; peek: 53 977 488 Heap memory[PS Old Gen]: max: 2 863 136 768; used: 78 956 552; peek: 78 956 552 Non-heap memory[PS Perm Gen]: max: 536 870 912; used: 46 255 472; peek: 46 255 472 Thread count: 330 Connections pool to Master status Idle: 0; Active: 300; maxActive: 300; maxIdle: 20  | 
	|
| Автор: | stark [ 02 мар 2015, 17:05 ] | 
| Заголовок сообщения: | Re: Pool [data.data]: Connections limit is over!!!!! | 
Jolly_Joker писал(а): stark писал(а): Код: server.sh status что показывает [root@bill b]# ./server.sh status Код: BGBillingServer v 6.1.1044 / 27.02.2015 16:23:14 Started: 02.03.2015 22:08:05 Uptime: 0 d 00:49:28 Memory total: 1 185 939 456; max: 3 817 865 216; free: 440 221 976 Memory pools: Non-heap memory[Code Cache]: max: 50 331 648; used: 7 862 016; peek: 7 867 392 Heap memory[PS Eden Space]: max: 1 315 438 592; used: 642 784 848; peek: 994 050 048 Heap memory[PS Survivor Space]: max: 59 768 832; used: 23 976 080; peek: 53 977 488 Heap memory[PS Old Gen]: max: 2 863 136 768; used: 78 956 552; peek: 78 956 552 Non-heap memory[PS Perm Gen]: max: 536 870 912; used: 46 255 472; peek: 46 255 472 Thread count: 330 Connections pool to Master status Idle: 0; Active: 300; maxActive: 300; maxIdle: 20 покажите conpool он не должен быть пустым в этот момент.  | 
	|
| Автор: | Jolly_Joker [ 02 мар 2015, 17:14 ] | 
| Заголовок сообщения: | Re: Pool [data.data]: Connections limit is over!!!!! | 
./server.sh conpool пишет тоже, что я написал выше...  | 
	|
| Автор: | Jolly_Joker [ 02 мар 2015, 18:19 ] | 
| Заголовок сообщения: | Re: Pool [data.data]: Connections limit is over!!!!! | 
Код: [root@bill b]# ./server_status.sh 
		
		BGBillingServer v 6.1.1044 / 27.02.2015 16:23:14 Started: 02.03.2015 23:35:00 Uptime: 0 d 00:37:01 Memory total: 985 137 152; max: 3 817 865 216; free: 271 088 216 Memory pools: Non-heap memory[Code Cache]: max: 50 331 648; used: 4 706 688; peek: 4 717 248 Heap memory[PS Eden Space]: max: 1 289 748 480; used: 592 975 648; peek: 781 189 120 Heap memory[PS Survivor Space]: max: 71 827 456; used: 39 313 936; peek: 60 668 672 Heap memory[PS Old Gen]: max: 2 863 136 768; used: 81 759 352; peek: 81 759 352 Non-heap memory[PS Perm Gen]: max: 536 870 912; used: 44 825 064; peek: 44 825 064 Thread count: 33 Connections pool to Master status Idle: 2; Active: 0; maxActive: 300; maxIdle: 20 Для продолжения нажмите любую клавишу... [root@bill b]# ./server_status.sh BGBillingServer v 6.1.1044 / 27.02.2015 16:23:14 Started: 02.03.2015 23:35:00 Uptime: 0 d 00:38:09 Memory total: 985 137 152; max: 3 817 865 216; free: 210 712 104 Memory pools: Non-heap memory[Code Cache]: max: 50 331 648; used: 5 177 280; peek: 5 182 656 Heap memory[PS Eden Space]: max: 1 289 748 480; used: 653 351 760; peek: 781 189 120 Heap memory[PS Survivor Space]: max: 71 827 456; used: 39 313 936; peek: 60 668 672 Heap memory[PS Old Gen]: max: 2 863 136 768; used: 81 759 352; peek: 81 759 352 Non-heap memory[PS Perm Gen]: max: 536 870 912; used: 46 142 448; peek: 46 142 448 Thread count: 35 Connections pool to Master status Idle: 2; Active: 3; maxActive: 300; maxIdle: 20 Для продолжения нажмите любую клавишу...  | 
	|
| Автор: | stark [ 03 мар 2015, 13:22 ] | 
| Заголовок сообщения: | Re: Pool [data.data]: Connections limit is over!!!!! | 
Проблема в вашем динамическом коде, который вызывается из xslt. Там вы открываете Connection и не закрываете.  | 
	|
| Автор: | Jolly_Joker [ 06 мар 2015, 03:41 ] | 
| Заголовок сообщения: | Re: Pool [data.data]: Connections limit is over!!!!! | 
stark писал(а): Проблема в вашем динамическом коде, который вызывается из xslt. Там вы открываете Connection и не закрываете. Проблема решилась добавлением в динамический код следующего: Код:    protected void finalize()  throws SQLException { con.close(); } Огромное спасибо, что ткнули носом!  | 
	|
| Автор: | vkulakov [ 06 мар 2015, 12:18 ] | 
| Заголовок сообщения: | Re: Pool [data.data]: Connections limit is over!!!!! | 
Думаю, не очень удачное решение для освобождения ресурсов. Метод finalize вызывается при удалении объектов сборщиком мусора и теоретически может не вызваться до момента исчерпания свободных подключений к базе. Лучше всё-таки закрывать соединение сразу после использования в методах динамического кода.  | 
	|
| Автор: | Amir [ 06 мар 2015, 16:26 ] | 
| Заголовок сообщения: | Re: Pool [data.data]: Connections limit is over!!!!! | 
Цитата: теоретически может не вызваться до момента исчерпания свободных подключений к базе.  Не совсем так. Точно вызовется когда/если будет заканчиваться выделенная память. Но исчерпание свободных подключений к базе к этому наверняка может не привести, поэтому можно все равно получить постоянный "Connections limit is over!!!!!".Цитата: Лучше всё-таки закрывать соединение сразу после использования в методах динамического кода.  Да. Добавлю, что по правильному, если сами получаете соединение из пула, то нужно примерно так: Код: Connection con = get();  Т.е. чтобы всегда происходило закрытие, даже если между открытием и закрытием произошла ошибка.
		
		try { ... } finally { con.close(); }  | 
	|
| Автор: | vkulakov [ 06 мар 2015, 16:40 ] | 
| Заголовок сообщения: | Re: Pool [data.data]: Connections limit is over!!!!! | 
Примерно так и хотел изначально написать, но стало лень. Спасибо за более подробный ответ.  | 
	|
| Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] | 
| Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/  | 
|