HAWQ-1782. Fix failed to read EXTERNAL TABLE of GPFDIST protocol


- fix read from EXTERNAL TABLE of GPFDIST protocol

The documented behaviour of CREATE EXTERNAL TABLE indicates a READABLE
TABLE but used to be violated.

Referring to https://curl.se/libcurl/c/curl_multi_fdset.html,
If no file descriptors are set by libcurl, max_fd will contain -1 when
this function returns. Otherwise it will contain the highest descriptor
number libcurl set. When libcurl returns -1 in max_fd, it is because
libcurl currently does something that isn't possible for your
application to monitor with a socket and unfortunately you can then not
know exactly when the current action is completed using select(). You
then need to wait a while before you proceed and call curl_multi_perform
anyway. How long to wait? Unless curl_multi_timeout gives you a lower
number, we suggest 100 milliseconds or so, but you may want to test it
out in your own particular conditions to find a suitable value.
it is not an error of `max_fd == -1`. Moreover, the situation of
`max_fd == -1` seems common on macOS.
3 files changed
tree: 91fa79cef1575307bb79b9797961d3ea0d547d94
  1. .github/
  2. .gitignore
  3. .travis.yml
  5. GNUmakefile.in
  7. Makefile
  9. README-PostgreSQL
  10. README.md
  11. aclocal.m4
  12. config/
  13. configure
  14. configure.in
  15. contrib/
  16. depends/
  17. dist/
  18. doc/
  19. getversion
  20. licenses/
  21. pom.xml
  22. putversion
  23. pxf/
  24. ranger-plugin/
  25. src/
  26. tools/


CI ProcessStatus
Travis CI Buildhttps://travis-ci.org/apache/hawq.svg?branch=master
Apache Release Audit Tool (RAT)Rat Status
Coverity Static AnalysisCoverity Scan Build

Website | Wiki | Documentation | Developer Mailing List | User Mailing List | Q&A Collections | Open Defect

Apache HAWQ

Apache HAWQ is a Hadoop native SQL query engine that combines the key technological advantages of MPP database with the scalability and convenience of Hadoop. HAWQ reads data from and writes data to HDFS natively. HAWQ delivers industry-leading performance and linear scalability. It provides users the tools to confidently and successfully interact with petabyte range data sets. HAWQ provides users with a complete, standards compliant SQL interface. More specifically, HAWQ has the following features:

  • On-premise or cloud deployment
  • Robust ANSI SQL compliance: SQL-92, SQL-99, SQL-2003, OLAP extension
  • Extremely high performance. many times faster than other Hadoop SQL engine
  • World-class parallel optimizer
  • Full transaction capability and consistency guarantee: ACID
  • Dynamic data flow engine through high speed UDP based interconnect
  • Elastic execution engine based on virtual segment & data locality
  • Support multiple level partitioning and List/Range based partitioned tables
  • Multiple compression method support: snappy, gzip, zlib
  • Multi-language user defined function support: Python, Perl, Java, C/C++, R
  • Advanced machine learning and data mining functionalities through MADLib
  • Dynamic node expansion: in seconds
  • Most advanced three level resource management: Integrate with YARN and hierarchical resource queues.
  • Easy access of all HDFS data and external system data (for example, HBase)
  • Hadoop Native: from storage (HDFS), resource management (YARN) to deployment (Ambari).
  • Authentication & Granular authorization: Kerberos, SSL and role based access
  • Advanced C/C++ access library to HDFS and YARN: libhdfs3 & libYARN
  • Support most third party tools: Tableau, SAS et al.
  • Standard connectivity: JDBC/ODBC

Build & Install & Test

Please see HAWQ wiki page: https://cwiki.apache.org/confluence/display/HAWQ/Build+and+Install

Export Control

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.

The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.