KAFKA-371 Patch from Jonathan Creasy reviewed by me. Correctly handle the case of an empty string as topic name or invalid partition number.
KAFKA-371 Patch from Jonathan Creasy reviewed by me. Correctly handle the case of an empty string as topic name or invalid partition number.


git-svn-id: 412e6f7c9ffe2cbea8a9058057c0108fb3eca438@1363022 13f79535-47bb-0310-9956-ffa450edef68

iheartradio/kafka,Tony-Zhang03/kafka,GabrielNicolasAvellaneda/kafka,edgefox/kafka,olksdr/kafka,rhauch/kafka,richhaase/kafka,Parth-Brahmbhatt/kafka,winlinvip/kafka,dchenbecker/kafka-sbt,mthak/test_kafka,eribeiro/kafka,prashantbh/kafka,apache/kafka,jw0201/kafka,crashlytics/kafka,wikimedia/operations-debs-kafka,proneetv/kafka,fintler/kafka,bbaugher/kafka,shawjef3/kafka,alexism/kafka,Esquive/kafka,ErikKringen/kafka,lazyval/kafka,gdfm/kafka,mbrukman/kafka,guozhangwang/kafka,quantezza/kafka,cocosli/kafka,Fushicho/kafka,qiunian2012/kafka,quantezza/kafka,vadimbobrov/kafka,jingjidejuren/kafka,granthenke/kafka,guozhangwang/kafka,wuranbo/kafka,rekhajoshm/kafka,GabrielNicolasAvellaneda/kafka,sundapeng/kafka,jgu1/myKafka,mbrukman/kafka,easytaxibr/kafka,darrendao/kafka.play.time,ijuma/kafka,usakey/kafka,tempbottle/kafka,shawjef3/kafka,ewencp/kafka,chares-zhang/kafka,pjain1/kafka,rekhajoshm/kafka,GorkemTuzuner/kafka,chares-zhang/kafka,seancaffery/kafka,yobennett/kafka,NBSW/kafka,airbnb/kafka,fluetm/kafka,bluebreezecf/kafka,pjain1/kafka,GabrielNicolasAvellaneda/kafka,wuwenyu19860817/kafka,sendgrid/kafka,usakey/kafka,eljefe6a/kafka,Digsolab/kafka,robort/kafka,jack6215/kafka,richhaase/kafka,sundapeng/kafka,junrao/kafka,eljefe6a/kafka,racker/kafka,EasonYi/kafka,NBSW/kafka,kvlou/kafka,lvfangmin/kafka,cocosli/kafka,KevinLiLu/kafka,shawjef3/kafka,bpupadhyaya/kafka,bpupadhyaya/kafka,binn-yang/kafka,wyzssw/kafka,ymatsuda/kafka,Chasego/kafka,lazyval/kafka,apakulov/kafka,wuwenyu19860817/kafka,weipinghe/kafka,wuranbo/kafka,bondj/kafka,mpoindexter/kafka,prashantbh/kafka,richhaase/kafka,racker/kafka,bsaideepak/kafka,themarkypantz/kafka,lindong28/kafka,ymatsuda/kafka,akaash-nigam/kafka,noslowerdna/kafka,hongliangzhao/kafka,junrao/kafka,noslowerdna/kafka,dopuskh3/kafka,prashantbh/kafka,jw0201/kafka,tattsun/kafka,jgu1/myKafka,chares-zhang/kafka,davecromberge/kafka,fx19880617/kafka-1,vkroz/kafka,slchen2014/kafka,lvfangmin/kafka,SinghAsDev/kafka,Fushicho/kafka,proneetv/kafka,jgu1/myKafka,Parth-Brahmbhatt/kafka,vkroz/kafka,mthak/test_kafka,OnePaaS/kafka,bondj/kafka,nammaste6/kafka,eljefe6a/kafka,nammaste6/kafka,fx19880617/kafka-1,ewencp/kafka,nammaste6/kafka,fintler/kafka,sendgrid/kafka,sebadiaz/kafka,elancom/kafka,hachikuji/kafka,crashlytics/kafka,sslavic/kafka,jgu1/myKafka,noslowerdna/kafka,proneetv/kafka,vadimbobrov/kafka,hachikuji/kafka,guozhangwang/kafka,akosiaris/kafka,lazyval/kafka,kvlou/kafka,robort/kafka,archieco/kafka,wuranbo/kafka,easytaxibr/kafka,GorkemTuzuner/kafka,kvlou/kafka,airbnb/kafka,apache/kafka,cloudera-labs/kafka,Digsolab/kafka,granthenke/kafka,iheartradio/kafka,samaitra/kafka,eribeiro/kafka,tattsun/kafka,winlinvip/kafka,bluebreezecf/kafka,ollie314/kafka,lindong28/kafka,wayilau/kafka,ijuma/kafka,Zhiqiang-He/kafka-0914-edit,winlinvip/kafka,juhanishen/kafka,davecromberge/kafka,eribeiro/kafka,bpupadhyaya/kafka,kevinsookocheff-wf/kafka,gdfm/kafka,zhixinwen/kafka,jhooda/kafka,KevinLiLu/kafka,Tony-Zhang03/kafka,dchenbecker/kafka-sbt,ymatsuda/kafka,weipinghe/kafka,quantiply-fork/kafka,akosiaris/kafka,jhooda/kafka,dopuskh3/kafka,crashlytics/kafka,seancaffery/kafka,zhixinwen/kafka,appsoma/kafka,cloudera/kafka,Ishiihara/kafka,akaash-nigam/kafka,fx19880617/kafka-1,yobennett/kafka,pubnub/kafka,davecromberge/kafka,Zhiqiang-He/kafka-0914-edit,mpoindexter/kafka,kevinsookocheff-wf/kafka,dongjiaqiang/kafka,bmistry13/kafka,gf53520/kafka,chares-zhang/kafka,jhspaybar/kafka,hongliangzhao/kafka,relango/kafka,eonezhang/kafka,richhaase/kafka,pjain1/kafka,apakulov/kafka,Digsolab/kafka_2.10,apache/kafka,Mszak/kafka,pronix/kafka,Esquive/kafka,wyzssw/kafka,Tony-Zhang03/kafka,likaiwalkman/kafka,gf53520/kafka,Ishiihara/kafka,gdfm/kafka,fluetm/kafka,wuwenyu19860817/kafka,quantiply-fork/kafka,likaiwalkman/kafka,jw0201/kafka,dopuskh3/kafka,tattsun/kafka,davecromberge/kafka,ollie314/kafka,MyPureCloud/kafka,confluentinc/kafka-deprecated-fork,slchen2014/kafka,TiVo/kafka,geeag/kafka,mbrukman/kafka,lazyval/kafka,apakulov/kafka,pbhalesain/kafka,pbhalesain/kafka,sebadiaz/kafka,tattsun/kafka,appsoma/kafka,quantiply-fork/kafka,weipinghe/kafka,likaiwalkman/kafka,cloudera/kafka,bmistry13/kafka,yobennett/kafka,pbhalesain/kafka,gf53520/kafka,junrao/kafka,jkreps/kafka,hachikuji/kafka,Zhiqiang-He/kafka-0914-edit,dongjiaqiang/kafka,confluentinc/kafka-deprecated-fork,fluetm/kafka,Chasego/kafka,granthenke/kafka,easytaxibr/kafka,jingjidejuren/kafka,cocosli/kafka,elancom/kafka,cloudera-labs/kafka,mihbor/kafka,bpupadhyaya/kafka,nammaste6/kafka,pubnub/kafka,aditya-chaturvedi/kafka,OnePaaS/kafka,Mszak/kafka,fluetm/kafka,sundapeng/kafka,crashlytics/kafka,ErikKringen/kafka,bbaugher/kafka,KevinLiLu/kafka,GorkemTuzuner/kafka,vadimbobrov/kafka,akaash-nigam/kafka,gwenshap/kafka,ErikKringen/kafka,wayilau/kafka,lvfangmin/kafka,binn-yang/kafka,bbaugher/kafka,vkroz/kafka,EasonYi/kafka,archieco/kafka,OnePaaS/kafka,Parth-Brahmbhatt/kafka,pjain1/kafka,Mszak/kafka,huanzhong/kafka,dchenbecker/kafka-sbt,racker/kafka,jingjidejuren/kafka,cloudera/kafka,MyPureCloud/kafka,dongjiaqiang/kafka,sundapeng/kafka,reiseburo/kafka,akosiaris/kafka,Parth-Brahmbhatt/kafka,wuranbo/kafka,mihbor/kafka,jack6215/kafka,aditya-chaturvedi/kafka,Ishiihara/kafka,rekhajoshm/kafka,Fushicho/kafka,NBSW/kafka,hachikuji/kafka,tempbottle/kafka,wikimedia/operations-debs-kafka,jack6215/kafka,jhooda/kafka,Ishiihara/kafka,appsoma/kafka,SinghAsDev/kafka,EasonYi/kafka,tempbottle/kafka,mbrukman/kafka,akaash-nigam/kafka,jhooda/kafka,guozhangwang/kafka,wikimedia/operations-debs-kafka,confluentinc/kafka-deprecated-fork,iheartradio/kafka,juhanishen/kafka,rhauch/kafka,bsaideepak/kafka,jhspaybar/kafka,relango/kafka,ewencp/kafka,seancaffery/kafka,TiVo/kafka,rekhajoshm/kafka,airbnb/kafka,pubnub/kafka,archieco/kafka,pbhalesain/kafka,dopuskh3/kafka,seancaffery/kafka,lindong28/kafka,jhspaybar/kafka,zhixinwen/kafka,scala212-forks/kafka,eonezhang/kafka,bbaugher/kafka,geeag/kafka,aditya-chaturvedi/kafka,sendgrid/kafka,eonezhang/kafka,aditya-chaturvedi/kafka,Digsolab/kafka_2.10,lindong28/kafka,wuwenyu19860817/kafka,njucslqq/kafka,Chasego/kafka,jack6215/kafka,sebadiaz/kafka,samaitra/kafka,slchen2014/kafka,GorkemTuzuner/kafka,juhanishen/kafka,slchen2014/kafka,weipinghe/kafka,pronix/kafka,alexism/kafka,mihbor/kafka,hongliangzhao/kafka,apakulov/kafka,eribeiro/kafka,sslavic/kafka,olksdr/kafka,gwenshap/kafka,jkreps/kafka,Digsolab/kafka_2.10,themarkypantz/kafka,njucslqq/kafka,wayilau/kafka,yobennett/kafka,apache/kafka,shawjef3/kafka,ewencp/kafka,jhspaybar/kafka,bondj/kafka,MyPureCloud/kafka,samaitra/kafka,mpoindexter/kafka,usakey/kafka,eonezhang/kafka,kvlou/kafka,scala212-forks/kafka,iheartradio/kafka,GabrielNicolasAvellaneda/kafka,edgefox/kafka,ErikKringen/kafka,elancom/kafka,quantiply-fork/kafka,junrao/kafka,lvfangmin/kafka,mthak/test_kafka,ymatsuda/kafka,wyzssw/kafka,pugna0/kafka,MyPureCloud/kafka,olksdr/kafka,racker/kafka,olksdr/kafka,samaitra/kafka,huanzhong/kafka,airbnb/kafka,sebadiaz/kafka,fintler/kafka,darrendao/kafka.play.time,pugna0/kafka,Zhiqiang-He/kafka-0914-edit,bsaideepak/kafka,eljefe6a/kafka,winlinvip/kafka,proneetv/kafka,bluebreezecf/kafka,rhauch/kafka,gdfm/kafka,gf53520/kafka,EasonYi/kafka,binn-yang/kafka,rhauch/kafka,KevinLiLu/kafka,gwenshap/kafka,Chasego/kafka,pubnub/kafka,themarkypantz/kafka,njucslqq/kafka,prashantbh/kafka,tempbottle/kafka,alexism/kafka,wikimedia/operations-debs-kafka,appsoma/kafka,quantezza/kafka,Fushicho/kafka,qiunian2012/kafka,bsaideepak/kafka,SinghAsDev/kafka,robort/kafka,pugna0/kafka,TiVo/kafka,mihbor/kafka,elancom/kafka,kevinsookocheff-wf/kafka,scala212-forks/kafka,reiseburo/kafka,cloudera/kafka,mpoindexter/kafka,wayilau/kafka,pugna0/kafka,geeag/kafka,quantezza/kafka,sslavic/kafka,geeag/kafka,bluebreezecf/kafka,ollie314/kafka,relango/kafka,TiVo/kafka,bondj/kafka,huanzhong/kafka,binn-yang/kafka,zhixinwen/kafka,hongliangzhao/kafka,njucslqq/kafka,jw0201/kafka,dongjiaqiang/kafka,likaiwalkman/kafka,Esquive/kafka,huanzhong/kafka,cloudera-labs/kafka,themarkypantz/kafka,ijuma/kafka,fx19880617/kafka-1,jkreps/kafka,alexism/kafka,robort/kafka,cocosli/kafka,bmistry13/kafka,Esquive/kafka,vadimbobrov/kafka,easytaxibr/kafka,pronix/kafka,kevinsookocheff-wf/kafka,Mszak/kafka,reiseburo/kafka,ollie314/kafka,Digsolab/kafka,edgefox/kafka,sslavic/kafka,NBSW/kafka,noslowerdna/kafka,reiseburo/kafka,granthenke/kafka,juhanishen/kafka,confluentinc/kafka-deprecated-fork,usakey/kafka,darrendao/kafka.play.time,jingjidejuren/kafka,scala212-forks/kafka,pronix/kafka,ijuma/kafka,OnePaaS/kafka,bmistry13/kafka,Tony-Zhang03/kafka,vkroz/kafka