Friday, October 18, 2013

Trying to upgrade MongoDB via apt-get - but "Unable to find expected entry '10gen/binary-amd64/Packages' in Release file"?

Update 18th Oct 2013 at 22.20 UTC:
It seems that 10gen has changed the original configuration back, thanks Mr. Mike Stringer for noticing. So, source configuration

deb dist 10gen

works at this moment. I will keep eye on the repository changes, follow me @vjom for further updates.

Mr. Robert Meerman has also reported the (original) issue to MongoDB's JIRA. Hope we'll get clarification soon which one to use... ;)

Tonight, I tried to upgrade to the latest MongoDB server version in my Ubuntu box, but apt-get update gave the following error:
W: Failed to fetch  Unable to find expected entry '10gen/binary-amd64/Packages' in Release file (Wrong sources.list entry or malformed file)
It seems that 10gen has recently changed their Release file structure, but the Ubuntu installation documentation does not yet reflect their latest changes (as per 18th Oct 2013). The problem is easy to fix:

Find the file, where your current mongodb-10gen source configuration lies. Most likely it's /etc/apt/sources.list.d/mongodb-10gen.list

Change the following line
deb dist 10gen
to read
deb dist mongodb
Finally, run apt-get update again and you are good to go.

Wednesday, July 17, 2013

Two Amazon AWS Elastic Load Balancer Features That Still Don't Exist

I have been working hard reviewing our company's server infrastructure, stability, deployment automation and many other infrastructure related subjects - just to make myself unnecessary. ;) We do extensively use Amazon AWS Elastic Load Balancing to ensure the stability and scalability of our services. And in general, I am happy with it.

However there are a few features that Amazon AWS Elastic Load Balancing is lacking (on mid-July 2013), even the use cases are clear and definitely useful.

SSL Client Certificate Support for Elastic Load Balancing

SSL Client Certificate Support for ELB was asked first time in January 2011 by Arvin Farahmand. As you can already upload your own server certificates to ELB, uploading a signing certificate for accepted client certificates is plausible. Then it would be up to the ELB configuration whether you ignore, accept or require the client certificates. Actual certificate information could be passed to underlying instaces inside HTTP Headers as Apache does, it must be taken care that the instances do not filter them.

Graceful Deregistration of Instances from ELB

If you deregister an instance, or an instance is dropped by ELB, all existing connections to the instance are shut down. Mr. Eric Hammond, well known for Alestic, "Using Amazon AWS/EC2 with Ubuntu", posted about existing connections are dropper on instance deregistration on February 2011. It would be much more graceful to keep existing connections open as far as they are and just not to accept new connections on the instance in question. Rude to the client.