From: Jiri C. <di...@ci...> - 2013-11-12 15:07:35
|
Hi *, I found a bug in connection pool. I *don't* know the root cause. But anyway I think the code there isn't "good" or "nice", so to speak. But I currently have an application in front of me, that escalates the problem, some memory leaks. I think I might go to rewrite the pooling (I implemented one earlier this year for another provider) and test it. Hopefully it will be simpler, faster and correct. BUT it might (will) not have exactly same API/behavior as the old one (and I don't wanna to try mimic it). So it will be huge breaking change if you rely on something like that. Of course the major version number will be incremented. And I hope I'll not introduce more bugs. ;) Is there anybody against it? -- Jiri {x2} Cincura (x2develop.com founder) http://blog.cincura.net/ | http://www.ID3renamer.com |
From: Zvjezdan T. <ze...@gm...> - 2013-11-12 21:28:31
|
go ahead. do it properly. On Nov 12, 2013 4:08 PM, "Jiri Cincura" <di...@ci...> wrote: > Hi *, > > I found a bug in connection pool. I *don't* know the root cause. But > anyway I think the code there isn't "good" or "nice", so to speak. But > I currently have an application in front of me, that escalates the > problem, some memory leaks. I think I might go to rewrite the pooling > (I implemented one earlier this year for another provider) and test > it. Hopefully it will be simpler, faster and correct. BUT it might > (will) not have exactly same API/behavior as the old one (and I don't > wanna to try mimic it). So it will be huge breaking change if you rely > on something like that. Of course the major version number will be > incremented. And I hope I'll not introduce more bugs. ;) > > Is there anybody against it? > > -- > Jiri {x2} Cincura (x2develop.com founder) > http://blog.cincura.net/ | http://www.ID3renamer.com > > > ------------------------------------------------------------------------------ > November Webinars for C, C++, Fortran Developers > Accelerate application performance with scalable programming models. > Explore > techniques for threading, error checking, porting, and tuning. Get the most > from the latest Intel processors and coprocessors. See abstracts and > register > http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk > _______________________________________________ > Firebird-net-provider mailing list > Fir...@li... > https://lists.sourceforge.net/lists/listinfo/firebird-net-provider > |
From: Hernan M. <her...@ob...> - 2013-11-12 22:00:55
|
I agree. Hernán MF > El 12/11/2013, a las 22:28, Zvjezdan Tomičević <ze...@gm...> escribió: > > go ahead. do it properly. > >> On Nov 12, 2013 4:08 PM, "Jiri Cincura" <di...@ci...> wrote: >> Hi *, >> >> I found a bug in connection pool. I *don't* know the root cause. But >> anyway I think the code there isn't "good" or "nice", so to speak. But >> I currently have an application in front of me, that escalates the >> problem, some memory leaks. I think I might go to rewrite the pooling >> (I implemented one earlier this year for another provider) and test >> it. Hopefully it will be simpler, faster and correct. BUT it might >> (will) not have exactly same API/behavior as the old one (and I don't >> wanna to try mimic it). So it will be huge breaking change if you rely >> on something like that. Of course the major version number will be >> incremented. And I hope I'll not introduce more bugs. ;) >> >> Is there anybody against it? >> >> -- >> Jiri {x2} Cincura (x2develop.com founder) >> http://blog.cincura.net/ | http://www.ID3renamer.com >> >> ------------------------------------------------------------------------------ >> November Webinars for C, C++, Fortran Developers >> Accelerate application performance with scalable programming models. Explore >> techniques for threading, error checking, porting, and tuning. Get the most >> from the latest Intel processors and coprocessors. See abstracts and register >> http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk >> _______________________________________________ >> Firebird-net-provider mailing list >> Fir...@li... >> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider > ------------------------------------------------------------------------------ > DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps > OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access > Free app hosting. Or install the open source package on any LAMP server. > Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! > http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk > _______________________________________________ > Firebird-net-provider mailing list > Fir...@li... > https://lists.sourceforge.net/lists/listinfo/firebird-net-provider |
From: Jiri C. <di...@ci...> - 2013-11-13 15:15:39
|
OK guys. First thanks for the support. It's not an easy change and there's a lot of code already and I need to squeeze myself in, with my concept. But here are some first numbers: * [1] With connection pooling ON and OLD provider the application gained about 276KB in ~30 minutes. * [2] With connection pooling OFF and OLD provider the application gained 324 bytes in ~30 minutes. * [3] With connection pooling ON and OLD provider and explicitly cleaning the pool the application gained about 1KB in ~33 minutes. * [4] With connection pooling ON and NEW provider the application *lost* about 2KB in ~30 minutes. The application I'm using is not 100% deterministic. It's doing network requests and running some timers. So it pretty much depends when the snapshot was taken. I think results are looking good. The [2] and [4] are basically same, similar [3] and [4]. The tests are all green and the test application (obviously) is not crashing. That gives me like 50% confidence. :) You can find the build here https://copy.com/Jh2ebP2sPjyv (.NET 4.5). It has same version number, it's using same sources, only the connection pooling has been altered. Thus you can just drop it in your application and try it run. Or create new and stress it. Whatever you want. I'd like to hear feedback from your. Even if it's just one quick run, let me know. It will speed up the deploy greatly. Also. Backporting the feature to .NET 4.0 is going to be easy. To 3.5 harder, because I rely on ConcurrentDictionary that's in 4.0 and newer. Bummer. Ideas? Drop 3.5 support? I can implement it on my own with locking (just for 3.5), but is it worth it? -- Jiri {x2} Cincura (x2develop.com founder) http://blog.cincura.net/ | http://www.ID3renamer.com |
From: André L. <a.l...@xs...> - 2013-11-13 18:50:13
|
For me it's ok dropping 3.5 support - we took 4.0 when 2.0 support was dropped. 4.0 support would be very appreciated. I'll take a look right after delivering our update end of the week. Thank you for your work! André Litfin > -----Ursprüngliche Nachricht----- > Von: Jiri Cincura [mailto:di...@ci...] > Gesendet: Mittwoch, 13. November 2013 16:16 > An: For users and developers of the Firebird .NET providers > Betreff: Re: [Firebird-net-provider] Connection pool bug > > OK guys. First thanks for the support. It's not an easy change and there's a lot > of code already and I need to squeeze myself in, with my concept. But here > are some first numbers: > > * [1] With connection pooling ON and OLD provider the application gained > about 276KB in ~30 minutes. > * [2] With connection pooling OFF and OLD provider the application gained > 324 bytes in ~30 minutes. > * [3] With connection pooling ON and OLD provider and explicitly cleaning the > pool the application gained about 1KB in ~33 minutes. > * [4] With connection pooling ON and NEW provider the application > *lost* about 2KB in ~30 minutes. > > The application I'm using is not 100% deterministic. It's doing network > requests and running some timers. So it pretty much depends when the > snapshot was taken. I think results are looking good. The [2] and [4] are > basically same, similar [3] and [4]. > > The tests are all green and the test application (obviously) is not crashing. > That gives me like 50% confidence. :) You can find the build here > https://copy.com/Jh2ebP2sPjyv (.NET 4.5). It has same version number, it's > using same sources, only the connection pooling has been altered. Thus you > can just drop it in your application and try it run. > Or create new and stress it. Whatever you want. I'd like to hear feedback > from your. Even if it's just one quick run, let me know. It will speed up the > deploy greatly. > > Also. Backporting the feature to .NET 4.0 is going to be easy. To 3.5 harder, > because I rely on ConcurrentDictionary that's in 4.0 and newer. Bummer. > Ideas? Drop 3.5 support? I can implement it on my own with locking (just for > 3.5), but is it worth it? > > -- > Jiri {x2} Cincura (x2develop.com founder) http://blog.cincura.net/ | > http://www.ID3renamer.com > > ---------------------------------------------------------------------------- -- > DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps > OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access Free > app hosting. Or install the open source package on any LAMP server. > Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! > http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clk > trk > _______________________________________________ > Firebird-net-provider mailing list > Fir...@li... > https://lists.sourceforge.net/lists/listinfo/firebird-net-provider |
From: Danny G. <da...@ab...> - 2013-11-13 19:47:44
|
I'm not sure about being able to lose 3.5 support. We haven't tested, or planned to test, migrating forward. If 4.0 backward compatibility is OK, then it would be OK, though we aren't using any 4.0 language features. Danny Gorton II Co-founder Absolute Power and Control, LLC www.absolutepowerandcontrol.com 517-499-9069 (mobile) On 11/13/2013 10:15 AM, Jiri Cincura wrote: > OK guys. First thanks for the support. It's not an easy change and > there's a lot of code already and I need to squeeze myself in, with my > concept. But here are some first numbers: > > * [1] With connection pooling ON and OLD provider the application > gained about 276KB in ~30 minutes. > * [2] With connection pooling OFF and OLD provider the application > gained 324 bytes in ~30 minutes. > * [3] With connection pooling ON and OLD provider and explicitly > cleaning the pool the application gained about 1KB in ~33 minutes. > * [4] With connection pooling ON and NEW provider the application > *lost* about 2KB in ~30 minutes. > > The application I'm using is not 100% deterministic. It's doing > network requests and running some timers. So it pretty much depends > when the snapshot was taken. I think results are looking good. The [2] > and [4] are basically same, similar [3] and [4]. > > The tests are all green and the test application (obviously) is not > crashing. That gives me like 50% confidence. :) You can find the build > here https://copy.com/Jh2ebP2sPjyv (.NET 4.5). It has same version > number, it's using same sources, only the connection pooling has been > altered. Thus you can just drop it in your application and try it run. > Or create new and stress it. Whatever you want. I'd like to hear > feedback from your. Even if it's just one quick run, let me know. It > will speed up the deploy greatly. > > Also. Backporting the feature to .NET 4.0 is going to be easy. To 3.5 > harder, because I rely on ConcurrentDictionary that's in 4.0 and > newer. Bummer. Ideas? Drop 3.5 support? I can implement it on my own > with locking (just for 3.5), but is it worth it? > |
From: Jiri C. <di...@ci...> - 2013-11-14 10:34:25
|
Hi, On Wed, Nov 13, 2013 at 8:34 PM, Danny Gorton <da...@ab...> wrote: > If 4.0 backward compatibility is > OK, then it would be OK It's probbaly not 100%, but in case you're not relying on some "weird" behavior you found, you should be OK. You can read: http://msdn.microsoft.com/en-us/library/ee941656%28VS.100%29.aspx http://msdn.microsoft.com/en-us/library/ee855831%28VS.100%29.aspx -- Jiri {x2} Cincura (x2develop.com founder) http://blog.cincura.net/ | http://www.ID3renamer.com |
From: Danny G. <da...@ab...> - 2013-11-12 21:50:53
|
Sometimes you it's better to make breaking changes than to live with the mess that results from trying to be too accommodating. I say fix it right. Danny Gorton II Co-founder Absolute Power and Control, LLC www.absolutepowerandcontrol.com 517-499-9069 (mobile) On 11/12/2013 10:07 AM, Jiri Cincura wrote: > Hi *, > > I found a bug in connection pool. I *don't* know the root cause. But > anyway I think the code there isn't "good" or "nice", so to speak. But > I currently have an application in front of me, that escalates the > problem, some memory leaks. I think I might go to rewrite the pooling > (I implemented one earlier this year for another provider) and test > it. Hopefully it will be simpler, faster and correct. BUT it might > (will) not have exactly same API/behavior as the old one (and I don't > wanna to try mimic it). So it will be huge breaking change if you rely > on something like that. Of course the major version number will be > incremented. And I hope I'll not introduce more bugs. ;) > > Is there anybody against it? > |
From: Jiri C. <di...@ci...> - 2013-11-14 10:35:23
|
And just a one quick "research" question. What's your common connection lifetime value for pooling? Do you change it or do you use the default one? -- Jiri {x2} Cincura (x2develop.com founder) http://blog.cincura.net/ | http://www.ID3renamer.com |
From: André K. <Kna...@be...> - 2013-11-18 11:22:15
|
Default, planned to monitor some things for possible optimizations, but did not find the time so far. General response time and performance and resources consumption of my C#/Firebird applications is more than fine with the users, so no hurry. > And just a one quick "research" question. What's your common > connection lifetime value for pooling? Do you change it or do you use > the default one? mit freundlichen Grüßen, André Knappstein EDV und Controlling ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ beta Eigenheim- und Grundstücksverwertungsgesellschaft mbH Hafenweg 4 59192 Bergkamen-Rünthe Telefon: +49 2389 9240 140 Telefax: +49 2389 9240 150 e-mail: kna...@be... Amtsgericht Hamm Nr. B 420 Geschäftsführer: Achim Krähling, Dirk Salewski und Matthias Steinhaus USt-IDNr.: DE 125215402 |
From: Zvjezdan T. <ze...@gm...> - 2013-11-14 10:47:02
|
I use firebird heavily in sports betting solution, with many simultaneous connections, in desktop environment, web services and virtually everywhere. Current deployed version is 2.6.0.0, 3.5 build. No major problems here at all. Polling with default value,and for events no polling. Since DB is hit all the time, i guess it polls constantly. I have not investigated details about possible leaks. On Thu, Nov 14, 2013 at 11:35 AM, Jiri Cincura <di...@ci...> wrote: > And just a one quick "research" question. What's your common > connection lifetime value for pooling? Do you change it or do you use > the default one? > > > -- > Jiri {x2} Cincura (x2develop.com founder) > http://blog.cincura.net/ | http://www.ID3renamer.com > > > ------------------------------------------------------------------------------ > DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps > OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access > Free app hosting. Or install the open source package on any LAMP server. > Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! > http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk > _______________________________________________ > Firebird-net-provider mailing list > Fir...@li... > https://lists.sourceforge.net/lists/listinfo/firebird-net-provider > |
From: Jiri C. <di...@ci...> - 2013-11-14 10:54:15
|
On Thu, Nov 14, 2013 at 11:46 AM, Zvjezdan Tomičević <ze...@gm...> wrote: > Polling with default value I'm asking to know what "resolution" should the cleanup routine have. Like if everybody uses lifetime 10s, than resolution 5s is fine, even 10s is fine, though the connection might be in a pool little longer. -- Jiri {x2} Cincura (x2develop.com founder) http://blog.cincura.net/ | http://www.ID3renamer.com |
From: Danny G. <da...@ab...> - 2013-11-14 16:50:46
|
Thanks for the info Juri. I failed to mention that we're a cross-platform solution, with Linux being the main one, so I'm more concerned with compatibility on Mono than on Windows. It will just require some test cycles we don't have right now. However, that shouldn't really affect what you're doing much since we're also not considering updating the Firebird provider at this time either. The version we have seems to be working just fine and when the time comes we'll plan a full component analysis, test cycle, and repackaging effort. Even if circumstances force us into it sooner than we'd like. Thanks again, Danny Danny Gorton II Co-founder Absolute Power and Control, LLC www.absolutepowerandcontrol.com 517-499-9069 (mobile) On 11/14/2013 05:34 AM, Jiri Cincura wrote: > Hi, > > On Wed, Nov 13, 2013 at 8:34 PM, Danny Gorton > <da...@ab...> wrote: >> If 4.0 backward compatibility is >> OK, then it would be OK > > It's probbaly not 100%, but in case you're not relying on some "weird" > behavior you found, you should be OK. You can read: > http://msdn.microsoft.com/en-us/library/ee941656%28VS.100%29.aspx > http://msdn.microsoft.com/en-us/library/ee855831%28VS.100%29.aspx > |
From: Jiri C. <di...@ci...> - 2013-11-15 07:40:58
|
On Thu, Nov 14, 2013 at 5:50 PM, Danny Gorton <da...@ab...> wrote: > However, that shouldn't really affect what you're doing much since we're Yeah, I just like to hear what are others doing and thinking. > also not considering updating the Firebird provider at this time either. > The version we have seems to be working just fine and when the time > comes we'll plan a full component analysis, test cycle, and repackaging > effort. Even if circumstances force us into it sooner than we'd like. Good. -- Jiri {x2} Cincura (x2develop.com founder) http://blog.cincura.net/ | http://www.ID3renamer.com |
From: Jiri C. <di...@ci...> - 2013-11-18 10:44:48
|
OK guys, the new version is out. This work was fully supported by SMS-Timing. Big thanks to them. http://blog.cincura.net/233429-ado-net-provider-for-firebird-4-0-0-0-is-ready/ -- Jiri {x2} Cincura (x2develop.com founder) http://blog.cincura.net/ | http://www.ID3renamer.com |
From: André K. <Kna...@be...> - 2013-11-18 11:25:16
|
Thanks to SMS-Timing and even more thanks to you. I'll do some test installs later. Did I get that right and you're in Siegburg? I'll install and test right there, then. > OK guys, the new version is out. This work was fully supported by > SMS-Timing. Big thanks to them. > http://blog.cincura.net/233429-ado-net-provider-for-firebird-4-0-0-0-is-ready/ mit freundlichen Grüßen, André Knappstein EDV und Controlling ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ beta Eigenheim- und Grundstücksverwertungsgesellschaft mbH Hafenweg 4 59192 Bergkamen-Rünthe Telefon: +49 2389 9240 140 Telefax: +49 2389 9240 150 e-mail: kna...@be... Amtsgericht Hamm Nr. B 420 Geschäftsführer: Achim Krähling, Dirk Salewski und Matthias Steinhaus USt-IDNr.: DE 125215402 |
From: Jiri C. <di...@ci...> - 2013-11-18 11:32:17
|
On Mon, Nov 18, 2013 at 12:28 PM, André Knappstein <Kna...@be...> wrote: > Did I get that right and you're in > Siegburg? No, only in Prague. :( -- Jiri {x2} Cincura (x2develop.com founder) http://blog.cincura.net/ | http://www.ID3renamer.com |
From: André K. <Kna...@be...> - 2013-11-18 12:05:40
|
> No, only in Prague. OK, I will nevertheless try to put all required stuff on my yoga and test it there and then. I can't go to two FB-Seminars in 4 days, or my wife will close the connection without doing a proper commit() :-) Otherwise I'd love to join there. If I should make a recommendation for you guys for the evening dinners: We have only recently been here: http://www.krcmaupavouka.cz/ with a group of IT guys. Very good food and beer and for the atmosphere: check the "galery" and "interiour" section on the website :-) |