class_docstr: `FileSystemCheckpointStorage` checkpoints state as files to a filesystem.
  
  Each checkpoint will store all its files in a subdirectory that includes the
  checkpoints number, such as `hdfs://namenode:port/flink-checkpoints/chk-17/`.
  
  **State Size Considerations**
  
  This checkpoint storage stores small state chunks directly with the metadata, to avoid creating
  many small files. The threshold for that is configurable. When increasing this threshold, the
  size of the checkpoint metadata increases. The checkpoint metadata of all retained completed
  checkpoints needs to fit into the JobManager's heap memory. This is typically not a problem,
  unless the threashold `get_min_file_size_threshold` is increased significantly.
  
  **Persistence Guarantees**
  
  Checkpoints from this checkpoint storage are as persistent and available as the filesystem
  that it is written to. If the file system is a persistent distributed file system, this
  checkpoint storage supports highly available setups. The backend additionally supports
  savepoints and externalized checkpoints.
  
  **Configuration**
  
  As for all checkpoint storage policies, this backend can either be configured within the
  application (by creating the storage with the respective constructor parameters and setting
  it on the execution environment) or by specifying it in the Flink configuration.
  
  If the checkpoint storage was specified in the application, it may pick up additional
  configuration parameters from the Flink configuration. For example, if the storage is configured
  in the application without a default savepoint directory, it will pick up a default savepoint
  directory specified in the Flink configuration of the running job/cluster.
class_docstr_tok: ["`","FileSystemCheckpointStorage","`","checkpoints","state","as","files","to","a","filesystem",".","Each","checkpoint","will","store","all","its","files","in","a","subdirectory","that","includes","the","checkpoints","number",",","such","as","`","hdfs",":","\/\/namenode",":","port\/flink-checkpoints\/chk-17\/","`",".","*","*","State","Size","Considerations","*","*","This","checkpoint","storage","stores","small","state","chunks","directly","with","the","metadata",",","to","avoid","creating","many","small","files",".","The","threshold","for","that","is","configurable",".","When","increasing","this","threshold",",","the","size","of","the","checkpoint","metadata","increases",".","The","checkpoint","metadata","of","all","retained","completed","checkpoints","needs","to","fit","into","the","JobManager","'s","heap","memory",".","This","is","typically","not","a","problem",",","unless","the","threashold","`","get_min_file_size_threshold","`","is","increased","significantly",".","*","*","Persistence","Guarantees","*","*","Checkpoints","from","this","checkpoint","storage","are","as","persistent","and","available","as","the","filesystem","that","it","is","written","to",".","If","the","file","system","is","a","persistent","distributed","file","system",",","this","checkpoint","storage","supports","highly","available","setups",".","The","backend","additionally","supports","savepoints","and","externalized","checkpoints",".","*","*","Configuration","*","*","As","for","all","checkpoint","storage","policies",",","this","backend","can","either","be","configured","within","the","application","(","by","creating","the","storage","with","the","respective","constructor","parameters","and","setting","it","on","the","execution","environment",")","or","by","specifying","it","in","the","Flink","configuration",".","If","the","checkpoint","storage","was","specified","in","the","application",",","it","may","pick","up","additional","configuration","parameters","from","the","Flink","configuration",".","For","example",",","if","the","storage","is","configured","in","the","application","without","a","default","savepoint","directory",",","it","will","pick","up","a","default","savepoint","directory","specified","in","the","Flink","configuration","of","the","running","job\/cluster","."]
docstr: Gets the base directory where all the savepoints are stored.
  The job-specific savepoint directory is created inside this directory.
  
  :return: The base directory for savepoints.
docstr_tok: ["Gets","the","base","directory","where","all","the","savepoints","are","stored",".","The","job-specific","savepoint","directory","is","created","inside","this","directory",".",":","return",":","The","base","directory","for","savepoints","."]
code: def get_savepoint_path(self) -> Optional[str]:
      """
      Gets the base directory where all the savepoints are stored.
      The job-specific savepoint directory is created inside this directory.
  
      :return: The base directory for savepoints.
      """
  
      j_path = self._j_checkpoint_storage.getSavepointPath()
      if j_path is None:
          return None
      else:
          return j_path.toString()
  
imports: from abc import ABCMeta
  from py4j.java_gateway import get_java_class
  from typing import Optional
  from pyflink.java_gateway import get_gateway
label_desc: Use image node_id 3 for calling the FileSystemCheckpointStorage obj's underlying member method code with example usage: obj.get_savepoint_path() and returns: None, j_path