- Support for '.' wildcards in database pattern calls. See #216
- Null Pointer Exception when database name was null in
get_privilege_set
call.
- Changed spring-boot-maven-plugin layout to ZIP (was JAR). This fixes classloading issues with external jars (which can be loaded by adding
-Dloader.path=my.jar
).
- Null pointer exception when creating a metastore tunnel by adding a check for null
configuration-properties
. - Fixing issue where Presto views cannot be parsed resulting in errors.
- Support for setting Hive metastore filter hooks which can be configured per federated metastore. See the README for more information.
- The
configuration-properties
fromwaggle-dance-server.yml
are set when creating the Thrift clients.
- Updated
hotels-oss-parent
to 6.1.0 (was 5.0.0).
- Upgraded version of
hive.version
to2.3.7
(was2.3.3
). Allows Waggle Dance to be used on JDK>=9.
- Implemented
get_partition_values()
method inFederatedHMSHandler
due to Hive version change. - New
database-name-mapping
feature. See the README for more information.
- Removed
IdentityMapping
as a fallback mapping in certain cases. Simplifies code paths.
- Updated
hotels-oss-parent
to 5.0.0 (was 4.0.1).
- Support for Prometheus metrics.
- Added logging to help debug connection issues.
- Remove error for empty prefix on federated metastores. See #183.
- Support for
mapped-databases
configuration for primary metastore. See #175.
- Removed com.hotels.bdp.waggledance.spring.CommonVFSResource, looks like dead code. See #178.
- Changed a prefixed primary metastore to fallback to 'empty prefix' if nothing specified. See #173.
Show Functions
now shows UDFs from all metastores. See #164.- Fixed REST API (http://localhost:18000/api/admin/federations/) which broke in 3.3.0 release.
- Prefixing of UDFs used in a view. See #165.
- Reconnection to metastores for MANUAL database resolution. With this change, the server configuration can specify a
status-polling-delay
andstatus-polling-delay-time-unit
. See the README for more information.
- Allow primary metastore to have a prefix. See #152.
- Configurable
latency
for each metastore in a Waggle Dance configuration.
- Support for regex
mapped-databases
for MANUAL database resolution. See #147. - Avoid NPE when no elements are provided for
mapped-databases
in the configuration. See #131. - Support for running metastore queries in parallel.
- Support request without DbName like BitSetCheckedAuthorizationProvider#authorizeUserPrivcannot. See #158
- Updated
hotels-oss-parent
to 4.0.1 (was 2.3.5). - Added invocation log messages for
getPartitions
calls.
- Refactored project to remove checkstyle and findbugs warnings, which does not impact functionality.
- Updated
hotels-oss-parent
to 2.3.5 (was 2.3.3).
- Fixed compatibility layer exception handling.
- Issue where setting strict-host-key-checking for metastore-tunnel causes an error. See #145.
- Refactored general metastore tunnelling code to leverage hcommon-hive-metastore libraries. See #103.
- Fixed IllegalArgumentException thrown while doing write operations on federated metastores in MANUAL database resolution. See 141.
- Compatibility issue with
get_foreign_keys()
andget_primary_keys()
methods.
- Minimum supported Java version is now 8 (was 7). See #108.
- Waggle Dance updated to use Spring-Boot-2.0.4 instead of Spring Platform BOM. See #105.
- Changed JVM Metrics, the following modifications are needed if you are tracking these metrics and want to achieve equivalency:
memory.heap.used
->sum(jvm.memory.used.area.heap.id.*)
- i.e. you now need to sum up all the heap spacesmemory.heap.max
->sum(jvm.memory.max.area.heap.id.*)
- i.e. you now need to sum up all the max used heap spacesthreads.*
->jvm.threads.*
- Added workaround when federating to a Hive 1.x Metastore. See #110.
- Removed performance hit we get from checking if a connection is alive for non-tunneled connections. See #115.
- Removed System.exit calls from the service instead it will exit with an exception if the Spring Boot exit code is not 0.
- Updated
hotels-oss-parent
to version 2.3.3 (was 2.3.2).
- Enable federated metastore's access-control-type to be configured to
READ_ONLY
andREAD_AND_WRITE_ON_DATABASE_WHITELIST
. See #87.
- Refactored general purpose Hive metastore code to leverage hcommon-hive-metastore and hcommon-ssh libraries. See #78.
- Updated versions of dependencies and plugins in waggle-dance-parent, waggle-dance, waggle-dance-core and waggle-dance-rpm modules.
- Upgraded default Hive version from 2.3.0 to 2.3.3.
- Client creation exceptions are caught (exceptions seem mostly due to tunneling) and no longer affect the whole of WD, unreachable Metastore is ignored. See #80.
- Using hcommon-ssh-1.0.1 dependency to fix issue where metastore exceptions were lost and not propagated properly over tunnelled connections.
- Issue where WD is unresponsive when a tunneled metastore connection becomes unreachable. See #73.
- View query parsing code shouldn't use JRE class. See #62.
- Issue where not all views where correctly transformed. See #62.
- Regex support in
federated-meta-stores.mapped-databases
. #59.
- Replace SSH support with hcommon-ssh library. #51.
- Tables referenced in views are now correctly transformed to the context of the Waggle Dance client. See #62.
- Configure StrictHostKeyChecking for MetastoreTunnel in YAML configuration. See #33.
- DESCRIBE FORMATTED query against federated tables now works. See #60.
- Configurable SSH session timeout for SSH tunnels. See #49.
- Regexes enabled in writable database whitelist. See #43.
- Database whitelisting capabilities on
PREFIXED
mode. See #47.
- Metastore status check now works for tunneled connections. See #34.
- Metastore status was missing from api/admin/federations rest endpoint. See #29.
DatabaseMapping
s no longer make copies of the Thrift objects, it mutates the original objects instead.- Upgrade Spring, BeeJU and other dependencies.
- Changed the default GC settings, less heap, more reserved percentage, works better with large requests.
- Upgrade Hive from 2.1.0 to 2.3.0.
- Depend on latest parent with
test.arguments
build parameter. - Fixed bug where tunnel configuration wasn't being applied.
- Hive dependency updated to 2.1.1 (Needed corresponding BeeJU dependency update as well).
- Removed SessionFactorySupplierFactory.
- Flag to prevent flushing the federation configuration out when the server stops.
- Configure Maven deploy plug-in.
- Few extra notes in README.
- Allow database name patterns in DDL.
- NOTE: Backward incompatible config change. Renamed graphite config
inter-poll-time
andinter-poll-time-unit
topoll-interval
andpoll-interval-time-unit
. - Changed default rpm user from 'hadoop' to 'waggle-dance'. If not present 'root' will be used.
- Expose metastore status in the REST endpoint.
- Support for
hive.metastore.execute.setugi=true
hive flag, UGI is now correctly sent along to federated metastores.
- Prefix is now optional, the metastore name can be used to derive it by default if needed.
- Improved metastore client connection logic.
- Adding test and improved integration tests running time.
- Improved client-side error message.
- Functionality to avoid prefixes and allow for a fixed list of federated databases to be configured.
- Externalized log4j2.xml so we can change log levels.
- Support for more flexible primary metastore configuration including database whitelist access controls.
- Metastore metrics and Graphite support.
- Bug where client exceptions were not properly propagated.
- Small bugfix where we threw the wrong thrift Exception (TException).
- Fix active connections counter.
- Support for SHH tunneling on federated metastores.
- Fix memory leak.