[ZEPPELIN-4444] Fix schema disagreement when execute DDL statements

### What is this PR for?

When executing DDL statements (`CREATE`/`ALTER`/`DROP`) it's possible to get schema disagreement in Cassandra, especially for big/geo-distributed clusters. Java driver has a special handling of such statements, with increased timeout, but it's still possible that next DDL statement will be executed before all nodes agree on the schema version, and this could lead to schema disagreement that need to be resolved by administrators.

### What type of PR is it?
Improvement

### What is the Jira issue?

https://issues.apache.org/jira/browse/ZEPPELIN-4444

### How should this be tested?

* Added the unit test
* Tested manually
* Travis CI: https://travis-ci.org/alexott/zeppelin/builds/620614700

Author: Alex Ott <alexott@gmail.com>

Closes #3527 from alexott/ZEPPELIN-4444 and squashes the following commits:

4b803b7ab [Alex Ott] [ZEPPELIN-4444] Fix schema disagreement when execute DDL statements
3 files changed
tree: 4bf9d39e7e6082e7c0777d8bb2fbd8b7f0d71f55
  1. .github/
  2. _tools/
  3. alluxio/
  4. angular/
  5. beam/
  6. bigquery/
  7. bin/
  8. cassandra/
  9. conf/
  10. dev/
  11. docs/
  12. elasticsearch/
  13. file/
  14. flink/
  15. geode/
  16. groovy/
  17. hazelcastjet/
  18. hbase/
  19. helium-dev/
  20. ignite/
  21. java/
  22. jdbc/
  23. k8s/
  24. kotlin/
  25. ksql/
  26. kylin/
  27. lens/
  28. licenses/
  29. livy/
  30. markdown/
  31. neo4j/
  32. notebook/
  33. pig/
  34. python/
  35. r/
  36. sap/
  37. scalding/
  38. scio/
  39. scripts/
  40. shell/
  41. spark/
  42. sparql/
  43. submarine/
  44. testing/
  45. zeppelin-display/
  46. zeppelin-distribution/
  47. zeppelin-examples/
  48. zeppelin-integration/
  49. zeppelin-interpreter/
  50. zeppelin-interpreter-api/
  51. zeppelin-interpreter-integration/
  52. zeppelin-interpreter-parent/
  53. zeppelin-jupyter/
  54. zeppelin-plugins/
  55. zeppelin-server/
  56. zeppelin-web/
  57. zeppelin-zengine/
  58. .appveyor.yml
  59. .gitignore
  60. .travis.yml
  61. LICENSE
  62. NOTICE
  63. pom.xml
  64. README.md
  65. Roadmap.md
  66. SECURITY-README.md
  67. STYLE.md
  68. travis_check.py
README.md

Apache Zeppelin

Documentation: User Guide
Mailing Lists: User and Dev mailing list
Continuous Integration: Build Status
Contributing: Contribution Guide
Issue Tracker: Jira
License: Apache 2.0

Zeppelin, a web-based notebook that enables interactive data analytics. You can make beautiful data-driven, interactive and collaborative documents with SQL, Scala and more.

Core feature:

  • Web based notebook style editor.
  • Built-in Apache Spark support

To know more about Zeppelin, visit our web site https://zeppelin.apache.org

Getting Started

Install binary package

Please go to install to install Apache Zeppelin from binary package.

Build from source

Please check Build from source to build Zeppelin from source.