You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jd...@apache.org on 2019/08/19 19:48:05 UTC

[hive] branch master updated: HIVE-22120: Fix wrong results/ArrayOutOfBound exception in left outer map joins on specific boundary conditions (Ramesh Kumar Thangarajan, reviewed by Jason Dere)

This is an automated email from the ASF dual-hosted git repository.

jdere pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git


The following commit(s) were added to refs/heads/master by this push:
     new 99de134  HIVE-22120: Fix wrong results/ArrayOutOfBound exception in left outer map joins on specific boundary conditions (Ramesh Kumar Thangarajan, reviewed by Jason Dere)
99de134 is described below

commit 99de134191e3e6f0fa68de8501b312163dee35b7
Author: Jason Dere <jd...@cloudera.com>
AuthorDate: Mon Aug 19 12:46:28 2019 -0700

    HIVE-22120: Fix wrong results/ArrayOutOfBound exception in left outer map joins on specific boundary conditions (Ramesh Kumar Thangarajan, reviewed by Jason Dere)
---
 data/files/tjoin3.txt                              | 1050 +++++++++++++++
 data/files/tjoin4.txt                              |    4 +
 .../test/resources/testconfiguration.properties    |    1 +
 .../hive/ql/exec/vector/VectorLimitOperator.java   |    1 -
 .../VectorMapJoinOuterGenerateResultOperator.java  |    1 +
 .../clientpositive/vector_left_outer_join3.q       |   28 +
 .../llap/vector_left_outer_join3.q.out             | 1337 ++++++++++++++++++++
 7 files changed, 2421 insertions(+), 1 deletion(-)

diff --git a/data/files/tjoin3.txt b/data/files/tjoin3.txt
new file mode 100644
index 0000000..e11df39
--- /dev/null
+++ b/data/files/tjoin3.txt
@@ -0,0 +1,1050 @@
+testname|1|N
+testname|2|N
+testname|3|Y
+testname|4|N
+testname|5|Y
+testname|6|Y
+testname|7|Y
+testname|8|Y
+testname|9|N
+testname|10|N
+testname|11|N
+testname|12|N
+testname|13|Y
+testname|14|N
+testname|15|Y
+testname|16|Y
+testname|17|Y
+testname|18|Y
+testname|19|N
+testname|20|N
+testname|21|N
+testname|22|N
+testname|23|Y
+testname|24|N
+testname|25|Y
+testname|26|Y
+testname|27|Y
+testname|28|Y
+testname|29|N
+testname|30|N
+testname|31|N
+testname|32|N
+testname|33|Y
+testname|34|N
+testname|35|Y
+testname|36|Y
+testname|37|Y
+testname|38|Y
+testname|39|N
+testname|40|N
+testname|41|N
+testname|42|N
+testname|43|Y
+testname|44|N
+testname|45|Y
+testname|46|Y
+testname|47|Y
+testname|48|Y
+testname|49|N
+testname|50|N
+testname|51|N
+testname|52|N
+testname|53|Y
+testname|54|N
+testname|55|Y
+testname|56|Y
+testname|57|Y
+testname|58|Y
+testname|59|N
+testname|60|N
+testname|61|N
+testname|62|N
+testname|63|Y
+testname|64|N
+testname|65|Y
+testname|66|Y
+testname|67|Y
+testname|68|Y
+testname|69|N
+testname|70|N
+testname|71|N
+testname|72|N
+testname|73|Y
+testname|74|N
+testname|75|Y
+testname|76|Y
+testname|77|Y
+testname|78|Y
+testname|79|N
+testname|80|N
+testname|81|N
+testname|82|N
+testname|83|Y
+testname|84|N
+testname|85|Y
+testname|86|Y
+testname|87|Y
+testname|88|Y
+testname|89|N
+testname|90|N
+testname|91|N
+testname|92|N
+testname|93|Y
+testname|94|N
+testname|95|Y
+testname|96|Y
+testname|97|Y
+testname|98|Y
+testname|99|N
+testname|100|N
+testname|101|N
+testname|102|N
+testname|103|Y
+testname|104|N
+testname|105|Y
+testname|106|Y
+testname|107|Y
+testname|108|Y
+testname|109|N
+testname|110|N
+testname|111|N
+testname|112|N
+testname|113|Y
+testname|114|N
+testname|115|Y
+testname|116|Y
+testname|117|Y
+testname|118|Y
+testname|119|N
+testname|120|N
+testname|121|N
+testname|122|N
+testname|123|Y
+testname|124|N
+testname|125|Y
+testname|126|Y
+testname|127|Y
+testname|128|Y
+testname|129|N
+testname|130|N
+testname|131|N
+testname|132|N
+testname|133|Y
+testname|134|N
+testname|135|Y
+testname|136|Y
+testname|137|Y
+testname|138|Y
+testname|139|N
+testname|140|N
+testname|141|N
+testname|142|N
+testname|143|Y
+testname|144|N
+testname|145|Y
+testname|146|Y
+testname|147|Y
+testname|148|Y
+testname|149|N
+testname|150|N
+testname|151|N
+testname|152|N
+testname|153|Y
+testname|154|N
+testname|155|Y
+testname|156|Y
+testname|157|Y
+testname|158|Y
+testname|159|N
+testname|160|N
+testname|161|N
+testname|162|N
+testname|163|Y
+testname|164|N
+testname|165|Y
+testname|166|Y
+testname|167|Y
+testname|168|Y
+testname|169|N
+testname|170|N
+testname|171|N
+testname|172|N
+testname|173|Y
+testname|174|N
+testname|175|Y
+testname|176|Y
+testname|177|Y
+testname|178|Y
+testname|179|N
+testname|180|N
+testname|181|N
+testname|182|N
+testname|183|Y
+testname|184|N
+testname|185|Y
+testname|186|Y
+testname|187|Y
+testname|188|Y
+testname|189|N
+testname|190|N
+testname|191|N
+testname|192|N
+testname|193|Y
+testname|194|N
+testname|195|Y
+testname|196|Y
+testname|197|Y
+testname|198|Y
+testname|199|N
+testname|200|N
+testname|201|N
+testname|202|N
+testname|203|Y
+testname|204|N
+testname|205|Y
+testname|206|Y
+testname|207|Y
+testname|208|Y
+testname|209|N
+testname|210|N
+testname|211|N
+testname|212|N
+testname|213|Y
+testname|214|N
+testname|215|Y
+testname|216|Y
+testname|217|Y
+testname|218|Y
+testname|219|N
+testname|220|N
+testname|221|N
+testname|222|N
+testname|223|Y
+testname|224|N
+testname|225|Y
+testname|226|Y
+testname|227|Y
+testname|228|Y
+testname|229|N
+testname|230|N
+testname|231|N
+testname|232|N
+testname|233|Y
+testname|234|N
+testname|235|Y
+testname|236|Y
+testname|237|Y
+testname|238|Y
+testname|239|N
+testname|240|N
+testname|241|N
+testname|242|N
+testname|243|Y
+testname|244|N
+testname|245|Y
+testname|246|Y
+testname|247|Y
+testname|248|Y
+testname|249|N
+testname|250|N
+testname|251|N
+testname|252|N
+testname|253|Y
+testname|254|N
+testname|255|Y
+testname|256|Y
+testname|257|Y
+testname|258|Y
+testname|259|N
+testname|260|N
+testname|261|N
+testname|262|N
+testname|263|Y
+testname|264|N
+testname|265|Y
+testname|266|Y
+testname|267|Y
+testname|268|Y
+testname|269|N
+testname|270|N
+testname|271|N
+testname|272|N
+testname|273|Y
+testname|274|N
+testname|275|Y
+testname|276|Y
+testname|277|Y
+testname|278|Y
+testname|279|N
+testname|280|N
+testname|281|N
+testname|282|N
+testname|283|Y
+testname|284|N
+testname|285|Y
+testname|286|Y
+testname|287|Y
+testname|288|Y
+testname|289|N
+testname|290|N
+testname|291|N
+testname|292|N
+testname|293|Y
+testname|294|N
+testname|295|Y
+testname|296|Y
+testname|297|Y
+testname|298|Y
+testname|299|N
+testname|300|N
+testname|301|N
+testname|302|N
+testname|303|Y
+testname|304|N
+testname|305|Y
+testname|306|Y
+testname|307|Y
+testname|308|Y
+testname|309|N
+testname|310|N
+testname|311|N
+testname|312|N
+testname|313|Y
+testname|314|N
+testname|315|Y
+testname|316|Y
+testname|317|Y
+testname|318|Y
+testname|319|N
+testname|320|N
+testname|321|N
+testname|322|N
+testname|323|Y
+testname|324|N
+testname|325|Y
+testname|326|Y
+testname|327|Y
+testname|328|Y
+testname|329|N
+testname|330|N
+testname|331|N
+testname|332|N
+testname|333|Y
+testname|334|N
+testname|335|Y
+testname|336|Y
+testname|337|Y
+testname|338|Y
+testname|339|N
+testname|340|N
+testname|341|N
+testname|342|N
+testname|343|Y
+testname|344|N
+testname|345|Y
+testname|346|Y
+testname|347|Y
+testname|348|Y
+testname|349|N
+testname|350|N
+testname|351|N
+testname|352|N
+testname|353|Y
+testname|354|N
+testname|355|Y
+testname|356|Y
+testname|357|Y
+testname|358|Y
+testname|359|N
+testname|360|N
+testname|361|N
+testname|362|N
+testname|363|Y
+testname|364|N
+testname|365|Y
+testname|366|Y
+testname|367|Y
+testname|368|Y
+testname|369|N
+testname|370|N
+testname|371|N
+testname|372|N
+testname|373|Y
+testname|374|N
+testname|375|Y
+testname|376|Y
+testname|377|Y
+testname|378|Y
+testname|379|N
+testname|380|N
+testname|381|N
+testname|382|N
+testname|383|Y
+testname|384|N
+testname|385|Y
+testname|386|Y
+testname|387|Y
+testname|388|Y
+testname|389|N
+testname|390|N
+testname|391|N
+testname|392|N
+testname|393|Y
+testname|394|N
+testname|395|Y
+testname|396|Y
+testname|397|Y
+testname|398|Y
+testname|399|N
+testname|400|N
+testname|401|N
+testname|402|N
+testname|403|Y
+testname|404|N
+testname|405|Y
+testname|406|Y
+testname|407|Y
+testname|408|Y
+testname|409|N
+testname|410|N
+testname|411|N
+testname|412|N
+testname|413|Y
+testname|414|N
+testname|415|Y
+testname|416|Y
+testname|417|Y
+testname|418|Y
+testname|419|N
+testname|420|N
+testname|421|N
+testname|422|N
+testname|423|Y
+testname|424|N
+testname|425|Y
+testname|426|Y
+testname|427|Y
+testname|428|Y
+testname|429|N
+testname|430|N
+testname|431|N
+testname|432|N
+testname|433|Y
+testname|434|N
+testname|435|Y
+testname|436|Y
+testname|437|Y
+testname|438|Y
+testname|439|N
+testname|440|N
+testname|441|N
+testname|442|N
+testname|443|Y
+testname|444|N
+testname|445|Y
+testname|446|Y
+testname|447|Y
+testname|448|Y
+testname|449|N
+testname|450|N
+testname|451|N
+testname|452|N
+testname|453|Y
+testname|454|N
+testname|455|Y
+testname|456|Y
+testname|457|Y
+testname|458|Y
+testname|459|N
+testname|460|N
+testname|461|N
+testname|462|N
+testname|463|Y
+testname|464|N
+testname|465|Y
+testname|466|Y
+testname|467|Y
+testname|468|Y
+testname|469|N
+testname|470|N
+testname|471|N
+testname|472|N
+testname|473|Y
+testname|474|N
+testname|475|Y
+testname|476|Y
+testname|477|Y
+testname|478|Y
+testname|479|N
+testname|480|N
+testname|481|N
+testname|482|N
+testname|483|Y
+testname|484|N
+testname|485|Y
+testname|486|Y
+testname|487|Y
+testname|488|Y
+testname|489|N
+testname|490|N
+testname|491|N
+testname|492|N
+testname|493|Y
+testname|494|N
+testname|495|Y
+testname|496|Y
+testname|497|Y
+testname|498|Y
+testname|499|N
+testname|500|N
+testname|501|N
+testname|502|N
+testname|503|Y
+testname|504|N
+testname|505|Y
+testname|506|Y
+testname|507|Y
+testname|508|Y
+testname|509|N
+testname|510|N
+testname|511|N
+testname|512|N
+testname|513|Y
+testname|514|N
+testname|515|Y
+testname|516|Y
+testname|517|Y
+testname|518|Y
+testname|519|N
+testname|520|N
+testname|521|N
+testname|522|N
+testname|523|Y
+testname|524|N
+testname|525|Y
+testname|526|Y
+testname|527|Y
+testname|528|Y
+testname|529|N
+testname|530|N
+testname|531|N
+testname|532|N
+testname|533|Y
+testname|534|N
+testname|535|Y
+testname|536|Y
+testname|537|Y
+testname|538|Y
+testname|539|N
+testname|540|N
+testname|541|N
+testname|542|N
+testname|543|Y
+testname|544|N
+testname|545|Y
+testname|546|Y
+testname|547|Y
+testname|548|Y
+testname|549|N
+testname|550|N
+testname|551|N
+testname|552|N
+testname|553|Y
+testname|554|N
+testname|555|Y
+testname|556|Y
+testname|557|Y
+testname|558|Y
+testname|559|N
+testname|560|N
+testname|561|N
+testname|562|N
+testname|563|Y
+testname|564|N
+testname|565|Y
+testname|566|Y
+testname|567|Y
+testname|568|Y
+testname|569|N
+testname|570|N
+testname|571|N
+testname|572|N
+testname|573|Y
+testname|574|N
+testname|575|Y
+testname|576|Y
+testname|577|Y
+testname|578|Y
+testname|579|N
+testname|580|N
+testname|581|N
+testname|582|N
+testname|583|Y
+testname|584|N
+testname|585|Y
+testname|586|Y
+testname|587|Y
+testname|588|Y
+testname|589|N
+testname|590|N
+testname|591|N
+testname|592|N
+testname|593|Y
+testname|594|N
+testname|595|Y
+testname|596|Y
+testname|597|Y
+testname|598|Y
+testname|599|N
+testname|600|N
+testname|601|N
+testname|602|N
+testname|603|Y
+testname|604|N
+testname|605|Y
+testname|606|Y
+testname|607|Y
+testname|608|Y
+testname|609|N
+testname|610|N
+testname|611|N
+testname|612|N
+testname|613|Y
+testname|614|N
+testname|615|Y
+testname|616|Y
+testname|617|Y
+testname|618|Y
+testname|619|N
+testname|620|N
+testname|621|N
+testname|622|N
+testname|623|Y
+testname|624|N
+testname|625|Y
+testname|626|Y
+testname|627|Y
+testname|628|Y
+testname|629|N
+testname|630|N
+testname|631|N
+testname|632|N
+testname|633|Y
+testname|634|N
+testname|635|Y
+testname|636|Y
+testname|637|Y
+testname|638|Y
+testname|639|N
+testname|640|N
+testname|641|N
+testname|642|N
+testname|643|Y
+testname|644|N
+testname|645|Y
+testname|646|Y
+testname|647|Y
+testname|648|Y
+testname|649|N
+testname|650|N
+testname|651|N
+testname|652|N
+testname|653|Y
+testname|654|N
+testname|655|Y
+testname|656|Y
+testname|657|Y
+testname|658|Y
+testname|659|N
+testname|660|N
+testname|661|N
+testname|662|N
+testname|663|Y
+testname|664|N
+testname|665|Y
+testname|666|Y
+testname|667|Y
+testname|668|Y
+testname|669|N
+testname|670|N
+testname|671|N
+testname|672|N
+testname|673|Y
+testname|674|N
+testname|675|Y
+testname|676|Y
+testname|677|Y
+testname|678|Y
+testname|679|N
+testname|680|N
+testname|681|N
+testname|682|N
+testname|683|Y
+testname|684|N
+testname|685|Y
+testname|686|Y
+testname|687|Y
+testname|688|Y
+testname|689|N
+testname|690|N
+testname|691|N
+testname|692|N
+testname|693|Y
+testname|694|N
+testname|695|Y
+testname|696|Y
+testname|697|Y
+testname|698|Y
+testname|699|N
+testname|700|N
+testname|701|N
+testname|702|N
+testname|703|Y
+testname|704|N
+testname|705|Y
+testname|706|Y
+testname|707|Y
+testname|708|Y
+testname|709|N
+testname|710|N
+testname|711|N
+testname|712|N
+testname|713|Y
+testname|714|N
+testname|715|Y
+testname|716|Y
+testname|717|Y
+testname|718|Y
+testname|719|N
+testname|720|N
+testname|721|N
+testname|722|N
+testname|723|Y
+testname|724|N
+testname|725|Y
+testname|726|Y
+testname|727|Y
+testname|728|Y
+testname|729|N
+testname|730|N
+testname|731|N
+testname|732|N
+testname|733|Y
+testname|734|N
+testname|735|Y
+testname|736|Y
+testname|737|Y
+testname|738|Y
+testname|739|N
+testname|740|N
+testname|741|N
+testname|742|N
+testname|743|Y
+testname|744|N
+testname|745|Y
+testname|746|Y
+testname|747|Y
+testname|748|Y
+testname|749|N
+testname|750|N
+testname|751|N
+testname|752|N
+testname|753|Y
+testname|754|N
+testname|755|Y
+testname|756|Y
+testname|757|Y
+testname|758|Y
+testname|759|N
+testname|760|N
+testname|761|N
+testname|762|N
+testname|763|Y
+testname|764|N
+testname|765|Y
+testname|766|Y
+testname|767|Y
+testname|768|Y
+testname|769|N
+testname|770|N
+testname|771|N
+testname|772|N
+testname|773|Y
+testname|774|N
+testname|775|Y
+testname|776|Y
+testname|777|Y
+testname|778|Y
+testname|779|N
+testname|780|N
+testname|781|N
+testname|782|N
+testname|783|Y
+testname|784|N
+testname|785|Y
+testname|786|Y
+testname|787|Y
+testname|788|Y
+testname|789|N
+testname|790|N
+testname|791|N
+testname|792|N
+testname|793|Y
+testname|794|N
+testname|795|Y
+testname|796|Y
+testname|797|Y
+testname|798|Y
+testname|799|N
+testname|800|N
+testname|801|N
+testname|802|N
+testname|803|Y
+testname|804|N
+testname|805|Y
+testname|806|Y
+testname|807|Y
+testname|808|Y
+testname|809|N
+testname|810|N
+testname|811|N
+testname|812|N
+testname|813|Y
+testname|814|N
+testname|815|Y
+testname|816|Y
+testname|817|Y
+testname|818|Y
+testname|819|N
+testname|820|N
+testname|821|N
+testname|822|N
+testname|823|Y
+testname|824|N
+testname|825|Y
+testname|826|Y
+testname|827|Y
+testname|828|Y
+testname|829|N
+testname|830|N
+testname|831|N
+testname|832|N
+testname|833|Y
+testname|834|N
+testname|835|Y
+testname|836|Y
+testname|837|Y
+testname|838|Y
+testname|839|N
+testname|840|N
+testname|841|N
+testname|842|N
+testname|843|Y
+testname|844|N
+testname|845|Y
+testname|846|Y
+testname|847|Y
+testname|848|Y
+testname|849|N
+testname|850|N
+testname|851|N
+testname|852|N
+testname|853|Y
+testname|854|N
+testname|855|Y
+testname|856|Y
+testname|857|Y
+testname|858|Y
+testname|859|N
+testname|860|N
+testname|861|N
+testname|862|N
+testname|863|Y
+testname|864|N
+testname|865|Y
+testname|866|Y
+testname|867|Y
+testname|868|Y
+testname|869|N
+testname|870|N
+testname|871|N
+testname|872|N
+testname|873|Y
+testname|874|N
+testname|875|Y
+testname|876|Y
+testname|877|Y
+testname|878|Y
+testname|879|N
+testname|880|N
+testname|881|N
+testname|882|N
+testname|883|Y
+testname|884|N
+testname|885|Y
+testname|886|Y
+testname|887|Y
+testname|888|Y
+testname|889|N
+testname|890|N
+testname|891|N
+testname|892|N
+testname|893|Y
+testname|894|N
+testname|895|Y
+testname|896|Y
+testname|897|Y
+testname|898|Y
+testname|899|N
+testname|900|N
+testname|901|N
+testname|902|N
+testname|903|Y
+testname|904|N
+testname|905|Y
+testname|906|Y
+testname|907|Y
+testname|908|Y
+testname|909|N
+testname|910|N
+testname|911|N
+testname|912|N
+testname|913|Y
+testname|914|N
+testname|915|Y
+testname|916|Y
+testname|917|Y
+testname|918|Y
+testname|919|N
+testname|920|N
+testname|921|N
+testname|922|N
+testname|923|Y
+testname|924|N
+testname|925|Y
+testname|926|Y
+testname|927|Y
+testname|928|Y
+testname|929|N
+testname|930|N
+testname|931|N
+testname|932|N
+testname|933|Y
+testname|934|N
+testname|935|Y
+testname|936|Y
+testname|937|Y
+testname|938|Y
+testname|939|N
+testname|940|N
+testname|941|N
+testname|942|N
+testname|943|Y
+testname|944|N
+testname|945|Y
+testname|946|Y
+testname|947|Y
+testname|948|Y
+testname|949|N
+testname|950|N
+testname|951|N
+testname|952|N
+testname|953|Y
+testname|954|N
+testname|955|Y
+testname|956|Y
+testname|957|Y
+testname|958|Y
+testname|959|N
+testname|960|N
+testname|961|N
+testname|962|N
+testname|963|Y
+testname|964|N
+testname|965|Y
+testname|966|Y
+testname|967|Y
+testname|968|Y
+testname|969|N
+testname|970|N
+testname|971|N
+testname|972|N
+testname|973|Y
+testname|974|N
+testname|975|Y
+testname|976|Y
+testname|977|Y
+testname|978|Y
+testname|979|N
+testname|980|N
+testname|981|N
+testname|982|N
+testname|983|Y
+testname|984|N
+testname|985|Y
+testname|986|Y
+testname|987|Y
+testname|988|Y
+testname|989|N
+testname|990|N
+testname|991|N
+testname|992|N
+testname|993|Y
+testname|994|N
+testname|995|Y
+testname|996|Y
+testname|997|Y
+testname|998|Y
+testname|999|N
+testname|1000|N
+testname|1001|N
+testname|1002|N
+testname|1003|Y
+testname|1004|N
+testname|1005|Y
+testname|1006|Y
+testname|1007|Y
+testname|1008|Y
+testname|1009|N
+testname|1010|N
+testname|1011|N
+testname|1012|N
+testname|1013|Y
+testname|1014|N
+testname|1015|Y
+testname|1016|Y
+testname|1017|Y
+testname|1018|Y
+testname|1019|N
+testname|1020|N
+testname|1021|N
+testname|1022|N
+testname|1023|Y
+testname|1024|N
+testname|1025|Y
+testname|1026|Y
+testname|1027|Y
+testname|1028|Y
+testname|1029|N
+testname|1030|N
+testname|1031|N
+testname|1032|N
+testname|1033|Y
+testname|1034|N
+testname|1035|Y
+testname|1036|Y
+testname|1037|Y
+testname|1038|Y
+testname|1039|N
+testname|1040|N
+testname|1041|N
+testname|1042|N
+testname|1043|Y
+testname|1044|N
+testname|1045|Y
+testname|1046|Y
+testname|1047|Y
+testname|1048|Y
+testname|1049|N
+testname|1050|N
diff --git a/data/files/tjoin4.txt b/data/files/tjoin4.txt
new file mode 100644
index 0000000..88f9100
--- /dev/null
+++ b/data/files/tjoin4.txt
@@ -0,0 +1,4 @@
+testname1|1
+testname1|1
+testname1|1
+testname1|1
diff --git a/itests/src/test/resources/testconfiguration.properties b/itests/src/test/resources/testconfiguration.properties
index b8e97bd..98280c5 100644
--- a/itests/src/test/resources/testconfiguration.properties
+++ b/itests/src/test/resources/testconfiguration.properties
@@ -838,6 +838,7 @@ minillaplocal.query.files=\
   vector_if_expr_2.q,\
   vector_join30.q,\
   vector_join_filters.q,\
+  vector_left_outer_join3.q,\
   vector_leftsemi_mapjoin.q,\
   vector_like_2.q,\
   vector_llap_io_data_conversion.q,\
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorLimitOperator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorLimitOperator.java
index 7edb059..918a69a 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorLimitOperator.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorLimitOperator.java
@@ -79,7 +79,6 @@ public class VectorLimitOperator extends LimitOperator implements VectorizationO
       batch.size = Math.min(batch.size, offset + limit - currCount);
       if (batch.selectedInUse == false) {
         batch.selectedInUse = true;
-        batch.selected = new int[batch.size];
         for (int i = 0; i < batch.size - skipSize; i++) {
           batch.selected[i] = skipSize + i;
         }
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinOuterGenerateResultOperator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinOuterGenerateResultOperator.java
index 32f77b1..13de3da 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinOuterGenerateResultOperator.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinOuterGenerateResultOperator.java
@@ -714,6 +714,7 @@ public abstract class VectorMapJoinOuterGenerateResultOperator
         if (inputSelectedInUse) {
           System.arraycopy(inputSelected, 0, batch.selected, 0, inputLogicalSize);
         }
+        batch.selectedInUse = inputSelectedInUse;
         batch.size = inputLogicalSize;
       }
 
diff --git a/ql/src/test/queries/clientpositive/vector_left_outer_join3.q b/ql/src/test/queries/clientpositive/vector_left_outer_join3.q
new file mode 100644
index 0000000..cbb3d7d
--- /dev/null
+++ b/ql/src/test/queries/clientpositive/vector_left_outer_join3.q
@@ -0,0 +1,28 @@
+set hive.cli.print.header=true;
+set hive.mapred.mode=nonstrict;
+set hive.explain.user=false;
+set hive.auto.convert.join=true;
+set hive.auto.convert.join.noconditionaltask=true;
+set hive.auto.convert.join.noconditionaltask.size=10000;
+
+drop table if exists TJOIN3;
+drop table if exists TJOIN4;
+create table if not exists TJOIN3 (name string, id int, flag string) STORED AS orc;
+create table if not exists TJOIN4 (code_name string, id int) STORED AS orc;
+create table if not exists TJOIN3STAGE (name string, id int, flag string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n' STORED AS TEXTFILE ;
+create table if not exists TJOIN4STAGE (code_name string, id int) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n' STORED AS TEXTFILE ;
+LOAD DATA LOCAL INPATH '../../data/files/tjoin3.txt' OVERWRITE INTO TABLE TJOIN3STAGE;
+LOAD DATA LOCAL INPATH '../../data/files/tjoin4.txt' OVERWRITE INTO TABLE TJOIN4STAGE;
+INSERT INTO TABLE TJOIN3 SELECT * from TJOIN3STAGE;
+INSERT INTO TABLE TJOIN4 SELECT * from TJOIN4STAGE;
+
+set hive.vectorized.execution.enabled=false;
+explain vectorization detail
+select TJOIN3.id,TJOIN3.name from TJOIN3 left outer join ( select code_name, id from TJOIN4) s3 on (TJOIN3.name = s3.code_name and TJOIN3.flag='N');
+
+select TJOIN3.id,TJOIN3.name from TJOIN3 left outer join ( select code_name, id from TJOIN4) s3 on (TJOIN3.name = s3.code_name and TJOIN3.flag='N');
+
+explain vectorization detail
+select TJOIN3.id,TJOIN3.name from TJOIN3 left outer join ( select code_name, id from TJOIN4) s3 on (TJOIN3.name = s3.code_name and TJOIN3.flag='N') limit 1;
+
+select TJOIN3.id,TJOIN3.name from TJOIN3 left outer join ( select code_name, id from TJOIN4) s3 on (TJOIN3.name = s3.code_name and TJOIN3.flag='N') limit 1;
diff --git a/ql/src/test/results/clientpositive/llap/vector_left_outer_join3.q.out b/ql/src/test/results/clientpositive/llap/vector_left_outer_join3.q.out
new file mode 100644
index 0000000..5bf3b18
--- /dev/null
+++ b/ql/src/test/results/clientpositive/llap/vector_left_outer_join3.q.out
@@ -0,0 +1,1337 @@
+PREHOOK: query: drop table if exists TJOIN3
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table if exists TJOIN3
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table if exists TJOIN4
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table if exists TJOIN4
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table if not exists TJOIN3 (name string, id int, flag string) STORED AS orc
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@TJOIN3
+POSTHOOK: query: create table if not exists TJOIN3 (name string, id int, flag string) STORED AS orc
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@TJOIN3
+PREHOOK: query: create table if not exists TJOIN4 (code_name string, id int) STORED AS orc
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@TJOIN4
+POSTHOOK: query: create table if not exists TJOIN4 (code_name string, id int) STORED AS orc
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@TJOIN4
+PREHOOK: query: create table if not exists TJOIN3STAGE (name string, id int, flag string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n' STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@TJOIN3STAGE
+POSTHOOK: query: create table if not exists TJOIN3STAGE (name string, id int, flag string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n' STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@TJOIN3STAGE
+PREHOOK: query: create table if not exists TJOIN4STAGE (code_name string, id int) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n' STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@TJOIN4STAGE
+POSTHOOK: query: create table if not exists TJOIN4STAGE (code_name string, id int) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n' STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@TJOIN4STAGE
+PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/tjoin3.txt' OVERWRITE INTO TABLE TJOIN3STAGE
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@tjoin3stage
+POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/tjoin3.txt' OVERWRITE INTO TABLE TJOIN3STAGE
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@tjoin3stage
+PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/tjoin4.txt' OVERWRITE INTO TABLE TJOIN4STAGE
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@tjoin4stage
+POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/tjoin4.txt' OVERWRITE INTO TABLE TJOIN4STAGE
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@tjoin4stage
+PREHOOK: query: INSERT INTO TABLE TJOIN3 SELECT * from TJOIN3STAGE
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tjoin3stage
+PREHOOK: Output: default@tjoin3
+POSTHOOK: query: INSERT INTO TABLE TJOIN3 SELECT * from TJOIN3STAGE
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tjoin3stage
+POSTHOOK: Output: default@tjoin3
+POSTHOOK: Lineage: tjoin3.flag SIMPLE [(tjoin3stage)tjoin3stage.FieldSchema(name:flag, type:string, comment:null), ]
+POSTHOOK: Lineage: tjoin3.id SIMPLE [(tjoin3stage)tjoin3stage.FieldSchema(name:id, type:int, comment:null), ]
+POSTHOOK: Lineage: tjoin3.name SIMPLE [(tjoin3stage)tjoin3stage.FieldSchema(name:name, type:string, comment:null), ]
+tjoin3stage.name	tjoin3stage.id	tjoin3stage.flag
+PREHOOK: query: INSERT INTO TABLE TJOIN4 SELECT * from TJOIN4STAGE
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tjoin4stage
+PREHOOK: Output: default@tjoin4
+POSTHOOK: query: INSERT INTO TABLE TJOIN4 SELECT * from TJOIN4STAGE
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tjoin4stage
+POSTHOOK: Output: default@tjoin4
+POSTHOOK: Lineage: tjoin4.code_name SIMPLE [(tjoin4stage)tjoin4stage.FieldSchema(name:code_name, type:string, comment:null), ]
+POSTHOOK: Lineage: tjoin4.id SIMPLE [(tjoin4stage)tjoin4stage.FieldSchema(name:id, type:int, comment:null), ]
+tjoin4stage.code_name	tjoin4stage.id
+PREHOOK: query: explain vectorization detail
+select TJOIN3.id,TJOIN3.name from TJOIN3 left outer join ( select code_name, id from TJOIN4) s3 on (TJOIN3.name = s3.code_name and TJOIN3.flag='N')
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tjoin3
+PREHOOK: Input: default@tjoin4
+#### A masked pattern was here ####
+POSTHOOK: query: explain vectorization detail
+select TJOIN3.id,TJOIN3.name from TJOIN3 left outer join ( select code_name, id from TJOIN4) s3 on (TJOIN3.name = s3.code_name and TJOIN3.flag='N')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tjoin3
+POSTHOOK: Input: default@tjoin4
+#### A masked pattern was here ####
+Explain
+PLAN VECTORIZATION:
+  enabled: false
+  enabledConditionsNotMet: [hive.vectorized.execution.enabled IS false]
+
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Tez
+#### A masked pattern was here ####
+      Edges:
+        Map 1 <- Map 2 (BROADCAST_EDGE)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: tjoin3
+                  Statistics: Num rows: 1050 Data size: 190050 Basic stats: COMPLETE Column stats: COMPLETE
+                  Select Operator
+                    expressions: name (type: string), id (type: int), (flag = 'N') (type: boolean)
+                    outputColumnNames: _col0, _col1, _col2
+                    Statistics: Num rows: 1050 Data size: 105000 Basic stats: COMPLETE Column stats: COMPLETE
+                    Map Join Operator
+                      condition map:
+                           Left Outer Join 0 to 1
+                      filter predicates:
+                        0 {_col2}
+                        1 
+                      keys:
+                        0 _col0 (type: string)
+                        1 _col0 (type: string)
+                      outputColumnNames: _col0, _col1
+                      input vertices:
+                        1 Map 2
+                      Statistics: Num rows: 4200 Data size: 403200 Basic stats: COMPLETE Column stats: COMPLETE
+                      Select Operator
+                        expressions: _col1 (type: int), _col0 (type: string)
+                        outputColumnNames: _col0, _col1
+                        Statistics: Num rows: 4200 Data size: 403200 Basic stats: COMPLETE Column stats: COMPLETE
+                        File Output Operator
+                          compressed: false
+                          Statistics: Num rows: 4200 Data size: 403200 Basic stats: COMPLETE Column stats: COMPLETE
+                          table:
+                              input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+                              output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                              serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+            Execution mode: llap
+            LLAP IO: all inputs
+        Map 2 
+            Map Operator Tree:
+                TableScan
+                  alias: tjoin4
+                  filterExpr: code_name is not null (type: boolean)
+                  Statistics: Num rows: 4 Data size: 372 Basic stats: COMPLETE Column stats: COMPLETE
+                  Filter Operator
+                    predicate: code_name is not null (type: boolean)
+                    Statistics: Num rows: 4 Data size: 372 Basic stats: COMPLETE Column stats: COMPLETE
+                    Select Operator
+                      expressions: code_name (type: string)
+                      outputColumnNames: _col0
+                      Statistics: Num rows: 4 Data size: 372 Basic stats: COMPLETE Column stats: COMPLETE
+                      Reduce Output Operator
+                        key expressions: _col0 (type: string)
+                        sort order: +
+                        Map-reduce partition columns: _col0 (type: string)
+                        Statistics: Num rows: 4 Data size: 372 Basic stats: COMPLETE Column stats: COMPLETE
+            Execution mode: llap
+            LLAP IO: all inputs
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: select TJOIN3.id,TJOIN3.name from TJOIN3 left outer join ( select code_name, id from TJOIN4) s3 on (TJOIN3.name = s3.code_name and TJOIN3.flag='N')
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tjoin3
+PREHOOK: Input: default@tjoin4
+#### A masked pattern was here ####
+POSTHOOK: query: select TJOIN3.id,TJOIN3.name from TJOIN3 left outer join ( select code_name, id from TJOIN4) s3 on (TJOIN3.name = s3.code_name and TJOIN3.flag='N')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tjoin3
+POSTHOOK: Input: default@tjoin4
+#### A masked pattern was here ####
+tjoin3.id	tjoin3.name
+1	testname
+2	testname
+3	testname
+4	testname
+5	testname
+6	testname
+7	testname
+8	testname
+9	testname
+10	testname
+11	testname
+12	testname
+13	testname
+14	testname
+15	testname
+16	testname
+17	testname
+18	testname
+19	testname
+20	testname
+21	testname
+22	testname
+23	testname
+24	testname
+25	testname
+26	testname
+27	testname
+28	testname
+29	testname
+30	testname
+31	testname
+32	testname
+33	testname
+34	testname
+35	testname
+36	testname
+37	testname
+38	testname
+39	testname
+40	testname
+41	testname
+42	testname
+43	testname
+44	testname
+45	testname
+46	testname
+47	testname
+48	testname
+49	testname
+50	testname
+51	testname
+52	testname
+53	testname
+54	testname
+55	testname
+56	testname
+57	testname
+58	testname
+59	testname
+60	testname
+61	testname
+62	testname
+63	testname
+64	testname
+65	testname
+66	testname
+67	testname
+68	testname
+69	testname
+70	testname
+71	testname
+72	testname
+73	testname
+74	testname
+75	testname
+76	testname
+77	testname
+78	testname
+79	testname
+80	testname
+81	testname
+82	testname
+83	testname
+84	testname
+85	testname
+86	testname
+87	testname
+88	testname
+89	testname
+90	testname
+91	testname
+92	testname
+93	testname
+94	testname
+95	testname
+96	testname
+97	testname
+98	testname
+99	testname
+100	testname
+101	testname
+102	testname
+103	testname
+104	testname
+105	testname
+106	testname
+107	testname
+108	testname
+109	testname
+110	testname
+111	testname
+112	testname
+113	testname
+114	testname
+115	testname
+116	testname
+117	testname
+118	testname
+119	testname
+120	testname
+121	testname
+122	testname
+123	testname
+124	testname
+125	testname
+126	testname
+127	testname
+128	testname
+129	testname
+130	testname
+131	testname
+132	testname
+133	testname
+134	testname
+135	testname
+136	testname
+137	testname
+138	testname
+139	testname
+140	testname
+141	testname
+142	testname
+143	testname
+144	testname
+145	testname
+146	testname
+147	testname
+148	testname
+149	testname
+150	testname
+151	testname
+152	testname
+153	testname
+154	testname
+155	testname
+156	testname
+157	testname
+158	testname
+159	testname
+160	testname
+161	testname
+162	testname
+163	testname
+164	testname
+165	testname
+166	testname
+167	testname
+168	testname
+169	testname
+170	testname
+171	testname
+172	testname
+173	testname
+174	testname
+175	testname
+176	testname
+177	testname
+178	testname
+179	testname
+180	testname
+181	testname
+182	testname
+183	testname
+184	testname
+185	testname
+186	testname
+187	testname
+188	testname
+189	testname
+190	testname
+191	testname
+192	testname
+193	testname
+194	testname
+195	testname
+196	testname
+197	testname
+198	testname
+199	testname
+200	testname
+201	testname
+202	testname
+203	testname
+204	testname
+205	testname
+206	testname
+207	testname
+208	testname
+209	testname
+210	testname
+211	testname
+212	testname
+213	testname
+214	testname
+215	testname
+216	testname
+217	testname
+218	testname
+219	testname
+220	testname
+221	testname
+222	testname
+223	testname
+224	testname
+225	testname
+226	testname
+227	testname
+228	testname
+229	testname
+230	testname
+231	testname
+232	testname
+233	testname
+234	testname
+235	testname
+236	testname
+237	testname
+238	testname
+239	testname
+240	testname
+241	testname
+242	testname
+243	testname
+244	testname
+245	testname
+246	testname
+247	testname
+248	testname
+249	testname
+250	testname
+251	testname
+252	testname
+253	testname
+254	testname
+255	testname
+256	testname
+257	testname
+258	testname
+259	testname
+260	testname
+261	testname
+262	testname
+263	testname
+264	testname
+265	testname
+266	testname
+267	testname
+268	testname
+269	testname
+270	testname
+271	testname
+272	testname
+273	testname
+274	testname
+275	testname
+276	testname
+277	testname
+278	testname
+279	testname
+280	testname
+281	testname
+282	testname
+283	testname
+284	testname
+285	testname
+286	testname
+287	testname
+288	testname
+289	testname
+290	testname
+291	testname
+292	testname
+293	testname
+294	testname
+295	testname
+296	testname
+297	testname
+298	testname
+299	testname
+300	testname
+301	testname
+302	testname
+303	testname
+304	testname
+305	testname
+306	testname
+307	testname
+308	testname
+309	testname
+310	testname
+311	testname
+312	testname
+313	testname
+314	testname
+315	testname
+316	testname
+317	testname
+318	testname
+319	testname
+320	testname
+321	testname
+322	testname
+323	testname
+324	testname
+325	testname
+326	testname
+327	testname
+328	testname
+329	testname
+330	testname
+331	testname
+332	testname
+333	testname
+334	testname
+335	testname
+336	testname
+337	testname
+338	testname
+339	testname
+340	testname
+341	testname
+342	testname
+343	testname
+344	testname
+345	testname
+346	testname
+347	testname
+348	testname
+349	testname
+350	testname
+351	testname
+352	testname
+353	testname
+354	testname
+355	testname
+356	testname
+357	testname
+358	testname
+359	testname
+360	testname
+361	testname
+362	testname
+363	testname
+364	testname
+365	testname
+366	testname
+367	testname
+368	testname
+369	testname
+370	testname
+371	testname
+372	testname
+373	testname
+374	testname
+375	testname
+376	testname
+377	testname
+378	testname
+379	testname
+380	testname
+381	testname
+382	testname
+383	testname
+384	testname
+385	testname
+386	testname
+387	testname
+388	testname
+389	testname
+390	testname
+391	testname
+392	testname
+393	testname
+394	testname
+395	testname
+396	testname
+397	testname
+398	testname
+399	testname
+400	testname
+401	testname
+402	testname
+403	testname
+404	testname
+405	testname
+406	testname
+407	testname
+408	testname
+409	testname
+410	testname
+411	testname
+412	testname
+413	testname
+414	testname
+415	testname
+416	testname
+417	testname
+418	testname
+419	testname
+420	testname
+421	testname
+422	testname
+423	testname
+424	testname
+425	testname
+426	testname
+427	testname
+428	testname
+429	testname
+430	testname
+431	testname
+432	testname
+433	testname
+434	testname
+435	testname
+436	testname
+437	testname
+438	testname
+439	testname
+440	testname
+441	testname
+442	testname
+443	testname
+444	testname
+445	testname
+446	testname
+447	testname
+448	testname
+449	testname
+450	testname
+451	testname
+452	testname
+453	testname
+454	testname
+455	testname
+456	testname
+457	testname
+458	testname
+459	testname
+460	testname
+461	testname
+462	testname
+463	testname
+464	testname
+465	testname
+466	testname
+467	testname
+468	testname
+469	testname
+470	testname
+471	testname
+472	testname
+473	testname
+474	testname
+475	testname
+476	testname
+477	testname
+478	testname
+479	testname
+480	testname
+481	testname
+482	testname
+483	testname
+484	testname
+485	testname
+486	testname
+487	testname
+488	testname
+489	testname
+490	testname
+491	testname
+492	testname
+493	testname
+494	testname
+495	testname
+496	testname
+497	testname
+498	testname
+499	testname
+500	testname
+501	testname
+502	testname
+503	testname
+504	testname
+505	testname
+506	testname
+507	testname
+508	testname
+509	testname
+510	testname
+511	testname
+512	testname
+513	testname
+514	testname
+515	testname
+516	testname
+517	testname
+518	testname
+519	testname
+520	testname
+521	testname
+522	testname
+523	testname
+524	testname
+525	testname
+526	testname
+527	testname
+528	testname
+529	testname
+530	testname
+531	testname
+532	testname
+533	testname
+534	testname
+535	testname
+536	testname
+537	testname
+538	testname
+539	testname
+540	testname
+541	testname
+542	testname
+543	testname
+544	testname
+545	testname
+546	testname
+547	testname
+548	testname
+549	testname
+550	testname
+551	testname
+552	testname
+553	testname
+554	testname
+555	testname
+556	testname
+557	testname
+558	testname
+559	testname
+560	testname
+561	testname
+562	testname
+563	testname
+564	testname
+565	testname
+566	testname
+567	testname
+568	testname
+569	testname
+570	testname
+571	testname
+572	testname
+573	testname
+574	testname
+575	testname
+576	testname
+577	testname
+578	testname
+579	testname
+580	testname
+581	testname
+582	testname
+583	testname
+584	testname
+585	testname
+586	testname
+587	testname
+588	testname
+589	testname
+590	testname
+591	testname
+592	testname
+593	testname
+594	testname
+595	testname
+596	testname
+597	testname
+598	testname
+599	testname
+600	testname
+601	testname
+602	testname
+603	testname
+604	testname
+605	testname
+606	testname
+607	testname
+608	testname
+609	testname
+610	testname
+611	testname
+612	testname
+613	testname
+614	testname
+615	testname
+616	testname
+617	testname
+618	testname
+619	testname
+620	testname
+621	testname
+622	testname
+623	testname
+624	testname
+625	testname
+626	testname
+627	testname
+628	testname
+629	testname
+630	testname
+631	testname
+632	testname
+633	testname
+634	testname
+635	testname
+636	testname
+637	testname
+638	testname
+639	testname
+640	testname
+641	testname
+642	testname
+643	testname
+644	testname
+645	testname
+646	testname
+647	testname
+648	testname
+649	testname
+650	testname
+651	testname
+652	testname
+653	testname
+654	testname
+655	testname
+656	testname
+657	testname
+658	testname
+659	testname
+660	testname
+661	testname
+662	testname
+663	testname
+664	testname
+665	testname
+666	testname
+667	testname
+668	testname
+669	testname
+670	testname
+671	testname
+672	testname
+673	testname
+674	testname
+675	testname
+676	testname
+677	testname
+678	testname
+679	testname
+680	testname
+681	testname
+682	testname
+683	testname
+684	testname
+685	testname
+686	testname
+687	testname
+688	testname
+689	testname
+690	testname
+691	testname
+692	testname
+693	testname
+694	testname
+695	testname
+696	testname
+697	testname
+698	testname
+699	testname
+700	testname
+701	testname
+702	testname
+703	testname
+704	testname
+705	testname
+706	testname
+707	testname
+708	testname
+709	testname
+710	testname
+711	testname
+712	testname
+713	testname
+714	testname
+715	testname
+716	testname
+717	testname
+718	testname
+719	testname
+720	testname
+721	testname
+722	testname
+723	testname
+724	testname
+725	testname
+726	testname
+727	testname
+728	testname
+729	testname
+730	testname
+731	testname
+732	testname
+733	testname
+734	testname
+735	testname
+736	testname
+737	testname
+738	testname
+739	testname
+740	testname
+741	testname
+742	testname
+743	testname
+744	testname
+745	testname
+746	testname
+747	testname
+748	testname
+749	testname
+750	testname
+751	testname
+752	testname
+753	testname
+754	testname
+755	testname
+756	testname
+757	testname
+758	testname
+759	testname
+760	testname
+761	testname
+762	testname
+763	testname
+764	testname
+765	testname
+766	testname
+767	testname
+768	testname
+769	testname
+770	testname
+771	testname
+772	testname
+773	testname
+774	testname
+775	testname
+776	testname
+777	testname
+778	testname
+779	testname
+780	testname
+781	testname
+782	testname
+783	testname
+784	testname
+785	testname
+786	testname
+787	testname
+788	testname
+789	testname
+790	testname
+791	testname
+792	testname
+793	testname
+794	testname
+795	testname
+796	testname
+797	testname
+798	testname
+799	testname
+800	testname
+801	testname
+802	testname
+803	testname
+804	testname
+805	testname
+806	testname
+807	testname
+808	testname
+809	testname
+810	testname
+811	testname
+812	testname
+813	testname
+814	testname
+815	testname
+816	testname
+817	testname
+818	testname
+819	testname
+820	testname
+821	testname
+822	testname
+823	testname
+824	testname
+825	testname
+826	testname
+827	testname
+828	testname
+829	testname
+830	testname
+831	testname
+832	testname
+833	testname
+834	testname
+835	testname
+836	testname
+837	testname
+838	testname
+839	testname
+840	testname
+841	testname
+842	testname
+843	testname
+844	testname
+845	testname
+846	testname
+847	testname
+848	testname
+849	testname
+850	testname
+851	testname
+852	testname
+853	testname
+854	testname
+855	testname
+856	testname
+857	testname
+858	testname
+859	testname
+860	testname
+861	testname
+862	testname
+863	testname
+864	testname
+865	testname
+866	testname
+867	testname
+868	testname
+869	testname
+870	testname
+871	testname
+872	testname
+873	testname
+874	testname
+875	testname
+876	testname
+877	testname
+878	testname
+879	testname
+880	testname
+881	testname
+882	testname
+883	testname
+884	testname
+885	testname
+886	testname
+887	testname
+888	testname
+889	testname
+890	testname
+891	testname
+892	testname
+893	testname
+894	testname
+895	testname
+896	testname
+897	testname
+898	testname
+899	testname
+900	testname
+901	testname
+902	testname
+903	testname
+904	testname
+905	testname
+906	testname
+907	testname
+908	testname
+909	testname
+910	testname
+911	testname
+912	testname
+913	testname
+914	testname
+915	testname
+916	testname
+917	testname
+918	testname
+919	testname
+920	testname
+921	testname
+922	testname
+923	testname
+924	testname
+925	testname
+926	testname
+927	testname
+928	testname
+929	testname
+930	testname
+931	testname
+932	testname
+933	testname
+934	testname
+935	testname
+936	testname
+937	testname
+938	testname
+939	testname
+940	testname
+941	testname
+942	testname
+943	testname
+944	testname
+945	testname
+946	testname
+947	testname
+948	testname
+949	testname
+950	testname
+951	testname
+952	testname
+953	testname
+954	testname
+955	testname
+956	testname
+957	testname
+958	testname
+959	testname
+960	testname
+961	testname
+962	testname
+963	testname
+964	testname
+965	testname
+966	testname
+967	testname
+968	testname
+969	testname
+970	testname
+971	testname
+972	testname
+973	testname
+974	testname
+975	testname
+976	testname
+977	testname
+978	testname
+979	testname
+980	testname
+981	testname
+982	testname
+983	testname
+984	testname
+985	testname
+986	testname
+987	testname
+988	testname
+989	testname
+990	testname
+991	testname
+992	testname
+993	testname
+994	testname
+995	testname
+996	testname
+997	testname
+998	testname
+999	testname
+1000	testname
+1001	testname
+1002	testname
+1003	testname
+1004	testname
+1005	testname
+1006	testname
+1007	testname
+1008	testname
+1009	testname
+1010	testname
+1011	testname
+1012	testname
+1013	testname
+1014	testname
+1015	testname
+1016	testname
+1017	testname
+1018	testname
+1019	testname
+1020	testname
+1021	testname
+1022	testname
+1023	testname
+1024	testname
+1025	testname
+1026	testname
+1027	testname
+1028	testname
+1029	testname
+1030	testname
+1031	testname
+1032	testname
+1033	testname
+1034	testname
+1035	testname
+1036	testname
+1037	testname
+1038	testname
+1039	testname
+1040	testname
+1041	testname
+1042	testname
+1043	testname
+1044	testname
+1045	testname
+1046	testname
+1047	testname
+1048	testname
+1049	testname
+1050	testname
+PREHOOK: query: explain vectorization detail
+select TJOIN3.id,TJOIN3.name from TJOIN3 left outer join ( select code_name, id from TJOIN4) s3 on (TJOIN3.name = s3.code_name and TJOIN3.flag='N') limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tjoin3
+PREHOOK: Input: default@tjoin4
+#### A masked pattern was here ####
+POSTHOOK: query: explain vectorization detail
+select TJOIN3.id,TJOIN3.name from TJOIN3 left outer join ( select code_name, id from TJOIN4) s3 on (TJOIN3.name = s3.code_name and TJOIN3.flag='N') limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tjoin3
+POSTHOOK: Input: default@tjoin4
+#### A masked pattern was here ####
+Explain
+PLAN VECTORIZATION:
+  enabled: false
+  enabledConditionsNotMet: [hive.vectorized.execution.enabled IS false]
+
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Tez
+#### A masked pattern was here ####
+      Edges:
+        Map 1 <- Map 2 (BROADCAST_EDGE)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: tjoin3
+                  Statistics: Num rows: 1050 Data size: 190050 Basic stats: COMPLETE Column stats: COMPLETE
+                  Select Operator
+                    expressions: name (type: string), id (type: int), (flag = 'N') (type: boolean)
+                    outputColumnNames: _col0, _col1, _col2
+                    Statistics: Num rows: 1050 Data size: 105000 Basic stats: COMPLETE Column stats: COMPLETE
+                    Map Join Operator
+                      condition map:
+                           Left Outer Join 0 to 1
+                      filter predicates:
+                        0 {_col2}
+                        1 
+                      keys:
+                        0 _col0 (type: string)
+                        1 _col0 (type: string)
+                      outputColumnNames: _col0, _col1
+                      input vertices:
+                        1 Map 2
+                      Statistics: Num rows: 4200 Data size: 403200 Basic stats: COMPLETE Column stats: COMPLETE
+                      Select Operator
+                        expressions: _col1 (type: int), _col0 (type: string)
+                        outputColumnNames: _col0, _col1
+                        Statistics: Num rows: 4200 Data size: 403200 Basic stats: COMPLETE Column stats: COMPLETE
+                        Limit
+                          Number of rows: 1
+                          Statistics: Num rows: 1 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE
+                          File Output Operator
+                            compressed: false
+                            Statistics: Num rows: 1 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE
+                            table:
+                                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+                                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                                serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+            Execution mode: llap
+            LLAP IO: all inputs
+        Map 2 
+            Map Operator Tree:
+                TableScan
+                  alias: tjoin4
+                  filterExpr: code_name is not null (type: boolean)
+                  Statistics: Num rows: 4 Data size: 372 Basic stats: COMPLETE Column stats: COMPLETE
+                  Filter Operator
+                    predicate: code_name is not null (type: boolean)
+                    Statistics: Num rows: 4 Data size: 372 Basic stats: COMPLETE Column stats: COMPLETE
+                    Select Operator
+                      expressions: code_name (type: string)
+                      outputColumnNames: _col0
+                      Statistics: Num rows: 4 Data size: 372 Basic stats: COMPLETE Column stats: COMPLETE
+                      Reduce Output Operator
+                        key expressions: _col0 (type: string)
+                        sort order: +
+                        Map-reduce partition columns: _col0 (type: string)
+                        Statistics: Num rows: 4 Data size: 372 Basic stats: COMPLETE Column stats: COMPLETE
+            Execution mode: llap
+            LLAP IO: all inputs
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: 1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: select TJOIN3.id,TJOIN3.name from TJOIN3 left outer join ( select code_name, id from TJOIN4) s3 on (TJOIN3.name = s3.code_name and TJOIN3.flag='N') limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tjoin3
+PREHOOK: Input: default@tjoin4
+#### A masked pattern was here ####
+POSTHOOK: query: select TJOIN3.id,TJOIN3.name from TJOIN3 left outer join ( select code_name, id from TJOIN4) s3 on (TJOIN3.name = s3.code_name and TJOIN3.flag='N') limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tjoin3
+POSTHOOK: Input: default@tjoin4
+#### A masked pattern was here ####
+tjoin3.id	tjoin3.name
+1	testname