New-age Transactional Systems - Not Your Grandpa's OLTP
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Jonathan Allen on Aug 25, 2008
Though less than a month old, the bug reports against .NET 3.5 SP 1 are starting to pile up. While bugs are an inevitable part of any release, the way a company responds to them varies greatly. Microsoft's .NET division generally requires users to call product support for specific hot fixes, with widely available service packs only shipped once a year or two.
For users with previously working programs, it takes a lot of effort just to figure out that Microsoft, rather than the vendor, is the culprit. And once that is established, one still has to figure out which KB article references the needed hot fix. If the user and/or the developers do not figure it out right away, countless man-hours can be wasted.
Below is a list of the verified issues that we know about:
Serialization
When a generic class implements ISerializable and has a static delegate member that makes use of the generic type arguments, binary deserialization hangs (on a 32-bit system with Windows Server 2003) or throws an OutOfMemoryException (on a 64-bit system with Windows Server 2008).
WinForms
In some circumstances a user can drag toolstrips from one MDI child Form to another. Imagine clicking a button on one document and having an entirely different one react.
Reflection
ExecutionEngineException with ParameterInfo.GetOptionalCustomModifiers and GetRequiredCustomModifiers on 3.5 SP1. This bug in the pair of methods is affecting the popular framework, Rhino Mocks.
WPF
.NET 3.5 SP1 breaks use of WPF under IIS. Seems some people have been using WPF to generate images in real time for web sites. Unfortunately, WPF no longer seems to work under IIS.
Type Checking
Under certain circumstances, a class that works under 3.5 will not pass PEVerify when run under 3.5 SP1. Essentially this means you will get a type load exception if you try to use the class at runtime.
Numerics
Spurious "The operation overflows at compile time in checked mode" This is a bug in the new Semantic Error Checker for C#. It is triggered when subtracting 2 from ulong.MaxValue.
Using Drools? See what you're missing! Get the Power of Drools with the Assurance of Red Hat
Agile Development: A Manager's Roadmap for Success
Getting Started with Stratos - an Open Source Cloud Platform
This topic has gained some attention within MS too, naturally. I understand they are currently sorting out their options for distribution of bug fixes, and I would not automatically assume they cannot do anything beyond non-redistributable hotfixes.
We reported two of those bugs (Serialization and Reflection), and the latter one can hit users of products built by 3rd parties using our mixin framework. This is not funny, and I believe MS understands that hotfixes are not really a satisfying answer for such a scenario.
Anyone who wants to be up to date might want to subscribe to our team blog.
MS is trying to do too much now, they're spreading themselves thin on so many things, from entity framework to dynamic data, so everything suffers. And this is just one of the symptoms. They really need to cut down on the extra features in the next version, and only enhance existing things and fix bugs, and not go much farther, else these bugs will be the least of our worries.
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
2 comments
Watch Thread Reply