[ZEPPELIN-4990] execution.savepoint.path doesn't work in %flink.conf

### What is this PR for?

This is a trivial PR which fix the issue of `execution.savepoint.path` doesn't work in `%flink.conf`. After this PR,
 we set `execution.savepoint.path` in the following order:

   * 1. Use savepoint path stored in paragraph config, this is recorded by zeppelin when paragraph is canceled,
   * 2. Use checkpoint path stored in pararaph config, this is recorded by zeppelin in flink job progress poller.
   * 3. Use local property 'execution.savepoint.path' if user set it.
   * 4. Otherwise remove 'execution.savepoint.path' when user didn't specify it in %flink.conf

### What type of PR is it?
[Bug Fix | Improvement ]

### Todos
* [ ] - Task

### What is the Jira issue?
* https://issues.apache.org/jira/browse/ZEPPELIN-4990

### How should this be tested?
* CI pass

### Screenshots (if appropriate)

### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? No

Author: Jeff Zhang <zjffdu@apache.org>

Closes #3876 from zjffdu/ZEPPELIN-4990 and squashes the following commits:

a78f8c00d [Jeff Zhang] [ZEPPELIN-4990]. execution.savepoint.path doesn't work in %flink.conf
365ecf815 [Jeff Zhang] [minor] change default value of resumeFromSavepoint to false
7 files changed
tree: 2cf52f8f8d268aadc11050899ab8000edaa52aa7
  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. influxdb/
  22. java/
  23. jdbc/
  24. k8s/
  25. kotlin/
  26. ksql/
  27. kylin/
  28. lens/
  29. licenses/
  30. livy/
  31. markdown/
  32. mongodb/
  33. neo4j/
  34. notebook/
  35. pig/
  36. python/
  37. r/
  38. rlang/
  39. sap/
  40. scalding/
  41. scio/
  42. scripts/
  43. shell/
  44. spark/
  45. sparql/
  46. submarine/
  47. testing/
  48. zeppelin-display/
  49. zeppelin-distribution/
  50. zeppelin-examples/
  51. zeppelin-integration/
  52. zeppelin-interpreter/
  53. zeppelin-interpreter-integration/
  54. zeppelin-interpreter-parent/
  55. zeppelin-interpreter-shaded/
  56. zeppelin-jupyter/
  57. zeppelin-jupyter-interpreter/
  58. zeppelin-jupyter-interpreter-shaded/
  59. zeppelin-plugins/
  60. zeppelin-server/
  61. zeppelin-web/
  62. zeppelin-web-angular/
  63. zeppelin-zengine/
  64. .appveyor.yml
  65. .asf.yaml
  66. .gitignore
  67. .travis.yml
  68. LICENSE
  69. NOTICE
  70. pom.xml
  71. README.md
  72. Roadmap.md
  73. SECURITY-README.md
  74. STYLE.md
  75. 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.