You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by mc...@apache.org on 2020/04/20 16:33:56 UTC

[cassandra-website] branch master updated: Remove src/doc/4.0 and content/doc/4.0 (if this exists it should be a symlink to the latest specific 4.0)

This is an automated email from the ASF dual-hosted git repository.

mck pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cassandra-website.git


The following commit(s) were added to refs/heads/master by this push:
     new 1c04c16  Remove src/doc/4.0 and content/doc/4.0 (if this exists it should be a symlink to the latest specific 4.0)
1c04c16 is described below

commit 1c04c161c036df6aa57a5c3181e2a56d331aa58d
Author: mck <mc...@apache.org>
AuthorDate: Mon Apr 20 18:32:39 2020 +0200

    Remove src/doc/4.0 and content/doc/4.0
    (if this exists it should be a symlink to the latest specific 4.0)
---
 content/doc/4.0/_images/docs_commit.png            |   Bin 104667 -> 0 bytes
 content/doc/4.0/_images/docs_create_branch.png     |   Bin 181860 -> 0 bytes
 content/doc/4.0/_images/docs_create_file.png       |   Bin 209110 -> 0 bytes
 content/doc/4.0/_images/docs_editor.png            |   Bin 106175 -> 0 bytes
 content/doc/4.0/_images/docs_fork.png              |   Bin 76159 -> 0 bytes
 content/doc/4.0/_images/docs_pr.png                |   Bin 156081 -> 0 bytes
 content/doc/4.0/_images/docs_preview.png           |   Bin 123826 -> 0 bytes
 content/doc/4.0/_images/eclipse_debug0.png         |   Bin 48174 -> 0 bytes
 content/doc/4.0/_images/eclipse_debug1.png         |   Bin 34446 -> 0 bytes
 content/doc/4.0/_images/eclipse_debug2.png         |   Bin 57032 -> 0 bytes
 content/doc/4.0/_images/eclipse_debug3.png         |   Bin 58677 -> 0 bytes
 content/doc/4.0/_images/eclipse_debug4.png         |   Bin 24793 -> 0 bytes
 content/doc/4.0/_images/eclipse_debug5.png         |   Bin 66632 -> 0 bytes
 content/doc/4.0/_images/eclipse_debug6.png         |   Bin 87568 -> 0 bytes
 content/doc/4.0/_images/example-stress-graph.png   |   Bin 359103 -> 0 bytes
 content/doc/4.0/architecture/dynamo.html           |   360 -
 content/doc/4.0/architecture/guarantees.html       |   239 -
 content/doc/4.0/architecture/index.html            |   255 -
 content/doc/4.0/architecture/overview.html         |   239 -
 content/doc/4.0/architecture/storage_engine.html   |   418 -
 content/doc/4.0/bugs.html                          |   235 -
 .../4.0/configuration/cassandra_config_file.html   |  2061 ----
 content/doc/4.0/configuration/index.html           |   236 -
 content/doc/4.0/contactus.html                     |   253 -
 content/doc/4.0/cql/appendices.html                |   692 --
 content/doc/4.0/cql/changes.html                   |   488 -
 content/doc/4.0/cql/ddl.html                       |   981 --
 content/doc/4.0/cql/definitions.html               |   441 -
 content/doc/4.0/cql/dml.html                       |   685 --
 content/doc/4.0/cql/functions.html                 |   830 --
 content/doc/4.0/cql/index.html                     |   372 -
 content/doc/4.0/cql/indexes.html                   |   295 -
 content/doc/4.0/cql/json.html                      |   442 -
 content/doc/4.0/cql/mvs.html                       |   385 -
 content/doc/4.0/cql/operators.html                 |   425 -
 content/doc/4.0/cql/security.html                  |   867 --
 content/doc/4.0/cql/triggers.html                  |   280 -
 content/doc/4.0/cql/types.html                     |   824 --
 content/doc/4.0/data_modeling/index.html           |   231 -
 content/doc/4.0/development/ci.html                |   283 -
 content/doc/4.0/development/code_style.html        |   339 -
 content/doc/4.0/development/dependencies.html      |   280 -
 content/doc/4.0/development/documentation.html     |   317 -
 content/doc/4.0/development/gettingstarted.html    |   285 -
 content/doc/4.0/development/how_to_commit.html     |   311 -
 content/doc/4.0/development/how_to_review.html     |   303 -
 content/doc/4.0/development/ide.html               |   392 -
 content/doc/4.0/development/index.html             |   310 -
 content/doc/4.0/development/patches.html           |   396 -
 content/doc/4.0/development/release_process.html   |   505 -
 content/doc/4.0/development/testing.html           |   309 -
 content/doc/4.0/faq/index.html                     |   443 -
 content/doc/4.0/genindex.html                      |    94 -
 content/doc/4.0/getting_started/configuring.html   |   284 -
 content/doc/4.0/getting_started/drivers.html       |   371 -
 content/doc/4.0/getting_started/index.html         |   276 -
 content/doc/4.0/getting_started/installing.html    |   322 -
 content/doc/4.0/getting_started/querying.html      |   270 -
 content/doc/4.0/index.html                         |   242 -
 content/doc/4.0/objects.inv                        |   Bin 8877 -> 0 bytes
 content/doc/4.0/operating/audit_logging.html       |   408 -
 content/doc/4.0/operating/backups.html             |   249 -
 content/doc/4.0/operating/bloom_filters.html       |   286 -
 content/doc/4.0/operating/bulk_loading.html        |   249 -
 content/doc/4.0/operating/cdc.html                 |   318 -
 content/doc/4.0/operating/compaction.html          |   645 --
 content/doc/4.0/operating/compression.html         |   314 -
 content/doc/4.0/operating/hardware.html            |   315 -
 content/doc/4.0/operating/hints.html               |   249 -
 content/doc/4.0/operating/index.html               |   350 -
 content/doc/4.0/operating/metrics.html             |  1925 ----
 content/doc/4.0/operating/read_repair.html         |   249 -
 content/doc/4.0/operating/repair.html              |   318 -
 content/doc/4.0/operating/security.html            |   598 --
 content/doc/4.0/operating/snitch.html              |   302 -
 content/doc/4.0/operating/topo_changes.html        |   346 -
 content/doc/4.0/plugins/index.html                 |   242 -
 content/doc/4.0/search.html                        |   228 -
 content/doc/4.0/searchindex.js                     |     1 -
 content/doc/4.0/tools/cassandra_stress.html        |   477 -
 content/doc/4.0/tools/cqlsh.html                   |   610 --
 content/doc/4.0/tools/index.html                   |   383 -
 content/doc/4.0/tools/nodetool/assassinate.html    |   261 -
 content/doc/4.0/tools/nodetool/bootstrap.html      |   260 -
 content/doc/4.0/tools/nodetool/cleanup.html        |   266 -
 content/doc/4.0/tools/nodetool/clearsnapshot.html  |   269 -
 content/doc/4.0/tools/nodetool/clientstats.html    |   262 -
 content/doc/4.0/tools/nodetool/compact.html        |   278 -
 .../doc/4.0/tools/nodetool/compactionhistory.html  |   256 -
 .../doc/4.0/tools/nodetool/compactionstats.html    |   256 -
 content/doc/4.0/tools/nodetool/decommission.html   |   256 -
 .../doc/4.0/tools/nodetool/describecluster.html    |   253 -
 content/doc/4.0/tools/nodetool/describering.html   |   260 -
 .../doc/4.0/tools/nodetool/disableauditlog.html    |   252 -
 .../4.0/tools/nodetool/disableautocompaction.html  |   262 -
 content/doc/4.0/tools/nodetool/disablebackup.html  |   252 -
 content/doc/4.0/tools/nodetool/disablebinary.html  |   252 -
 .../4.0/tools/nodetool/disablefullquerylog.html    |   252 -
 content/doc/4.0/tools/nodetool/disablegossip.html  |   253 -
 content/doc/4.0/tools/nodetool/disablehandoff.html |   252 -
 .../doc/4.0/tools/nodetool/disablehintsfordc.html  |   261 -
 .../tools/nodetool/disableoldprotocolversions.html |   252 -
 content/doc/4.0/tools/nodetool/drain.html          |   253 -
 content/doc/4.0/tools/nodetool/enableauditlog.html |   286 -
 .../4.0/tools/nodetool/enableautocompaction.html   |   262 -
 content/doc/4.0/tools/nodetool/enablebackup.html   |   252 -
 content/doc/4.0/tools/nodetool/enablebinary.html   |   252 -
 .../doc/4.0/tools/nodetool/enablefullquerylog.html |   283 -
 content/doc/4.0/tools/nodetool/enablegossip.html   |   252 -
 content/doc/4.0/tools/nodetool/enablehandoff.html  |   253 -
 .../doc/4.0/tools/nodetool/enablehintsfordc.html   |   262 -
 .../tools/nodetool/enableoldprotocolversions.html  |   252 -
 .../doc/4.0/tools/nodetool/failuredetector.html    |   253 -
 content/doc/4.0/tools/nodetool/flush.html          |   261 -
 content/doc/4.0/tools/nodetool/garbagecollect.html |   271 -
 content/doc/4.0/tools/nodetool/gcstats.html        |   252 -
 .../tools/nodetool/getbatchlogreplaythrottle.html  |   254 -
 .../4.0/tools/nodetool/getcompactionthreshold.html |   262 -
 .../tools/nodetool/getcompactionthroughput.html    |   253 -
 .../tools/nodetool/getconcurrentcompactors.html    |   253 -
 .../tools/nodetool/getconcurrentviewbuilders.html  |   253 -
 content/doc/4.0/tools/nodetool/getendpoints.html   |   262 -
 .../tools/nodetool/getinterdcstreamthroughput.html |   253 -
 .../doc/4.0/tools/nodetool/getlogginglevels.html   |   252 -
 .../doc/4.0/tools/nodetool/getmaxhintwindow.html   |   252 -
 content/doc/4.0/tools/nodetool/getreplicas.html    |   262 -
 content/doc/4.0/tools/nodetool/getseeds.html       |   253 -
 content/doc/4.0/tools/nodetool/getsstables.html    |   264 -
 .../4.0/tools/nodetool/getstreamthroughput.html    |   253 -
 content/doc/4.0/tools/nodetool/gettimeout.html     |   262 -
 .../4.0/tools/nodetool/gettraceprobability.html    |   252 -
 content/doc/4.0/tools/nodetool/gossipinfo.html     |   252 -
 content/doc/4.0/tools/nodetool/handoffwindow.html  |   252 -
 content/doc/4.0/tools/nodetool/help.html           |   239 -
 content/doc/4.0/tools/nodetool/import.html         |   287 -
 content/doc/4.0/tools/nodetool/info.html           |   255 -
 .../4.0/tools/nodetool/invalidatecountercache.html |   252 -
 .../doc/4.0/tools/nodetool/invalidatekeycache.html |   252 -
 .../doc/4.0/tools/nodetool/invalidaterowcache.html |   252 -
 content/doc/4.0/tools/nodetool/join.html           |   252 -
 content/doc/4.0/tools/nodetool/listsnapshots.html  |   253 -
 content/doc/4.0/tools/nodetool/move.html           |   260 -
 content/doc/4.0/tools/nodetool/netstats.html       |   257 -
 content/doc/4.0/tools/nodetool/nodetool.html       |   367 -
 content/doc/4.0/tools/nodetool/pausehandoff.html   |   252 -
 content/doc/4.0/tools/nodetool/profileload.html    |   271 -
 .../doc/4.0/tools/nodetool/proxyhistograms.html    |   253 -
 content/doc/4.0/tools/nodetool/rangekeysample.html |   253 -
 content/doc/4.0/tools/nodetool/rebuild.html        |   277 -
 content/doc/4.0/tools/nodetool/rebuild_index.html  |   262 -
 content/doc/4.0/tools/nodetool/refresh.html        |   262 -
 .../4.0/tools/nodetool/refreshsizeestimates.html   |   252 -
 .../doc/4.0/tools/nodetool/reloadlocalschema.html  |   252 -
 content/doc/4.0/tools/nodetool/reloadseeds.html    |   253 -
 content/doc/4.0/tools/nodetool/reloadssl.html      |   252 -
 content/doc/4.0/tools/nodetool/reloadtriggers.html |   252 -
 .../doc/4.0/tools/nodetool/relocatesstables.html   |   265 -
 content/doc/4.0/tools/nodetool/removenode.html     |   263 -
 content/doc/4.0/tools/nodetool/repair.html         |   325 -
 content/doc/4.0/tools/nodetool/repair_admin.html   |   266 -
 content/doc/4.0/tools/nodetool/replaybatchlog.html |   252 -
 .../doc/4.0/tools/nodetool/resetfullquerylog.html  |   254 -
 .../doc/4.0/tools/nodetool/resetlocalschema.html   |   252 -
 content/doc/4.0/tools/nodetool/resumehandoff.html  |   252 -
 content/doc/4.0/tools/nodetool/ring.html           |   265 -
 content/doc/4.0/tools/nodetool/scrub.html          |   286 -
 .../tools/nodetool/setbatchlogreplaythrottle.html  |   263 -
 .../doc/4.0/tools/nodetool/setcachecapacity.html   |   262 -
 .../doc/4.0/tools/nodetool/setcachekeystosave.html |   264 -
 .../4.0/tools/nodetool/setcompactionthreshold.html |   262 -
 .../tools/nodetool/setcompactionthroughput.html    |   262 -
 .../tools/nodetool/setconcurrentcompactors.html    |   262 -
 .../tools/nodetool/setconcurrentviewbuilders.html  |   262 -
 .../tools/nodetool/sethintedhandoffthrottlekb.html |   262 -
 .../tools/nodetool/setinterdcstreamthroughput.html |   262 -
 .../doc/4.0/tools/nodetool/setlogginglevel.html    |   265 -
 .../doc/4.0/tools/nodetool/setmaxhintwindow.html   |   261 -
 .../4.0/tools/nodetool/setstreamthroughput.html    |   262 -
 content/doc/4.0/tools/nodetool/settimeout.html     |   265 -
 .../4.0/tools/nodetool/settraceprobability.html    |   263 -
 content/doc/4.0/tools/nodetool/snapshot.html       |   279 -
 content/doc/4.0/tools/nodetool/status.html         |   264 -
 .../4.0/tools/nodetool/statusautocompaction.html   |   265 -
 content/doc/4.0/tools/nodetool/statusbackup.html   |   252 -
 content/doc/4.0/tools/nodetool/statusbinary.html   |   252 -
 content/doc/4.0/tools/nodetool/statusgossip.html   |   252 -
 content/doc/4.0/tools/nodetool/statushandoff.html  |   253 -
 content/doc/4.0/tools/nodetool/stop.html           |   268 -
 content/doc/4.0/tools/nodetool/stopdaemon.html     |   252 -
 .../doc/4.0/tools/nodetool/tablehistograms.html    |   261 -
 content/doc/4.0/tools/nodetool/tablestats.html     |   296 -
 content/doc/4.0/tools/nodetool/toppartitions.html  |   270 -
 content/doc/4.0/tools/nodetool/tpstats.html        |   256 -
 content/doc/4.0/tools/nodetool/truncatehints.html  |   263 -
 .../doc/4.0/tools/nodetool/upgradesstables.html    |   272 -
 content/doc/4.0/tools/nodetool/verify.html         |   281 -
 content/doc/4.0/tools/nodetool/version.html        |   252 -
 .../doc/4.0/tools/nodetool/viewbuildstatus.html    |   261 -
 content/doc/4.0/tools/sstable/index.html           |   353 -
 content/doc/4.0/tools/sstable/sstabledump.html     |   526 -
 .../4.0/tools/sstable/sstableexpiredblockers.html  |   271 -
 .../doc/4.0/tools/sstable/sstablelevelreset.html   |   297 -
 content/doc/4.0/tools/sstable/sstableloader.html   |   531 -
 content/doc/4.0/tools/sstable/sstablemetadata.html |   595 --
 .../4.0/tools/sstable/sstableofflinerelevel.html   |   312 -
 .../doc/4.0/tools/sstable/sstablerepairedset.html  |   315 -
 content/doc/4.0/tools/sstable/sstablescrub.html    |   333 -
 content/doc/4.0/tools/sstable/sstablesplit.html    |   324 -
 content/doc/4.0/tools/sstable/sstableupgrade.html  |   371 -
 content/doc/4.0/tools/sstable/sstableutil.html     |   327 -
 content/doc/4.0/tools/sstable/sstableverify.html   |   327 -
 content/doc/4.0/troubleshooting/finding_nodes.html |   365 -
 content/doc/4.0/troubleshooting/index.html         |   273 -
 content/doc/4.0/troubleshooting/reading_logs.html  |   475 -
 content/doc/4.0/troubleshooting/use_nodetool.html  |   445 -
 content/doc/4.0/troubleshooting/use_tools.html     |   733 --
 src/doc/4.0/.buildinfo                             |     4 -
 src/doc/4.0/_images/docs_commit.png                |   Bin 104667 -> 0 bytes
 src/doc/4.0/_images/docs_create_branch.png         |   Bin 181860 -> 0 bytes
 src/doc/4.0/_images/docs_create_file.png           |   Bin 209110 -> 0 bytes
 src/doc/4.0/_images/docs_editor.png                |   Bin 106175 -> 0 bytes
 src/doc/4.0/_images/docs_fork.png                  |   Bin 76159 -> 0 bytes
 src/doc/4.0/_images/docs_pr.png                    |   Bin 156081 -> 0 bytes
 src/doc/4.0/_images/docs_preview.png               |   Bin 123826 -> 0 bytes
 src/doc/4.0/_images/eclipse_debug0.png             |   Bin 48174 -> 0 bytes
 src/doc/4.0/_images/eclipse_debug1.png             |   Bin 34446 -> 0 bytes
 src/doc/4.0/_images/eclipse_debug2.png             |   Bin 57032 -> 0 bytes
 src/doc/4.0/_images/eclipse_debug3.png             |   Bin 58677 -> 0 bytes
 src/doc/4.0/_images/eclipse_debug4.png             |   Bin 24793 -> 0 bytes
 src/doc/4.0/_images/eclipse_debug5.png             |   Bin 66632 -> 0 bytes
 src/doc/4.0/_images/eclipse_debug6.png             |   Bin 87568 -> 0 bytes
 src/doc/4.0/_images/example-stress-graph.png       |   Bin 359103 -> 0 bytes
 src/doc/4.0/_sources/architecture/dynamo.rst.txt   |   164 -
 .../4.0/_sources/architecture/guarantees.rst.txt   |    20 -
 src/doc/4.0/_sources/architecture/index.rst.txt    |    29 -
 src/doc/4.0/_sources/architecture/overview.rst.txt |    20 -
 .../_sources/architecture/storage_engine.rst.txt   |   208 -
 src/doc/4.0/_sources/bugs.rst.txt                  |    30 -
 .../configuration/cassandra_config_file.rst.txt    |  2033 ----
 src/doc/4.0/_sources/configuration/index.rst.txt   |    25 -
 src/doc/4.0/_sources/contactus.rst.txt             |    50 -
 src/doc/4.0/_sources/cql/appendices.rst.txt        |   330 -
 src/doc/4.0/_sources/cql/changes.rst.txt           |   211 -
 src/doc/4.0/_sources/cql/ddl.rst.txt               |   788 --
 src/doc/4.0/_sources/cql/definitions.rst.txt       |   234 -
 src/doc/4.0/_sources/cql/dml.rst.txt               |   522 -
 src/doc/4.0/_sources/cql/functions.rst.txt         |   581 --
 src/doc/4.0/_sources/cql/index.rst.txt             |    47 -
 src/doc/4.0/_sources/cql/indexes.rst.txt           |    83 -
 src/doc/4.0/_sources/cql/json.rst.txt              |   115 -
 src/doc/4.0/_sources/cql/mvs.rst.txt               |   179 -
 src/doc/4.0/_sources/cql/operators.rst.txt         |    74 -
 src/doc/4.0/_sources/cql/security.rst.txt          |   538 -
 src/doc/4.0/_sources/cql/triggers.rst.txt          |    63 -
 src/doc/4.0/_sources/cql/types.rst.txt             |   559 -
 src/doc/4.0/_sources/data_modeling/index.rst.txt   |    20 -
 src/doc/4.0/_sources/development/ci.rst.txt        |    72 -
 .../4.0/_sources/development/code_style.rst.txt    |    94 -
 .../4.0/_sources/development/dependencies.rst.txt  |    54 -
 .../4.0/_sources/development/documentation.rst.txt |   104 -
 .../_sources/development/gettingstarted.rst.txt    |    60 -
 .../4.0/_sources/development/how_to_commit.rst.txt |    75 -
 .../4.0/_sources/development/how_to_review.rst.txt |    73 -
 src/doc/4.0/_sources/development/ide.rst.txt       |   185 -
 src/doc/4.0/_sources/development/index.rst.txt     |    33 -
 src/doc/4.0/_sources/development/patches.rst.txt   |   134 -
 .../_sources/development/release_process.rst.txt   |   259 -
 src/doc/4.0/_sources/development/testing.rst.txt   |    98 -
 src/doc/4.0/_sources/faq/index.rst.txt             |   299 -
 .../_sources/getting_started/configuring.rst.txt   |    67 -
 .../4.0/_sources/getting_started/drivers.rst.txt   |   123 -
 src/doc/4.0/_sources/getting_started/index.rst.txt |    33 -
 .../_sources/getting_started/installing.rst.txt    |   106 -
 .../4.0/_sources/getting_started/querying.rst.txt  |    52 -
 src/doc/4.0/_sources/index.rst.txt                 |    42 -
 .../4.0/_sources/operating/audit_logging.rst.txt   |   236 -
 src/doc/4.0/_sources/operating/backups.rst.txt     |    22 -
 .../4.0/_sources/operating/bloom_filters.rst.txt   |    65 -
 .../4.0/_sources/operating/bulk_loading.rst.txt    |    24 -
 src/doc/4.0/_sources/operating/cdc.rst.txt         |    96 -
 src/doc/4.0/_sources/operating/compaction.rst.txt  |   447 -
 src/doc/4.0/_sources/operating/compression.rst.txt |    95 -
 src/doc/4.0/_sources/operating/hardware.rst.txt    |    87 -
 src/doc/4.0/_sources/operating/hints.rst.txt       |    22 -
 src/doc/4.0/_sources/operating/index.rst.txt       |    39 -
 src/doc/4.0/_sources/operating/metrics.rst.txt     |   789 --
 src/doc/4.0/_sources/operating/read_repair.rst.txt |    22 -
 src/doc/4.0/_sources/operating/repair.rst.txt      |   107 -
 src/doc/4.0/_sources/operating/security.rst.txt    |   441 -
 src/doc/4.0/_sources/operating/snitch.rst.txt      |    78 -
 .../4.0/_sources/operating/topo_changes.rst.txt    |   129 -
 src/doc/4.0/_sources/plugins/index.rst.txt         |    35 -
 .../4.0/_sources/tools/cassandra_stress.rst.txt    |   269 -
 src/doc/4.0/_sources/tools/cqlsh.rst.txt           |   455 -
 src/doc/4.0/_sources/tools/index.rst.txt           |    28 -
 .../_sources/tools/nodetool/assassinate.rst.txt    |    11 -
 .../4.0/_sources/tools/nodetool/bootstrap.rst.txt  |    11 -
 .../4.0/_sources/tools/nodetool/cleanup.rst.txt    |    11 -
 .../_sources/tools/nodetool/clearsnapshot.rst.txt  |    11 -
 .../_sources/tools/nodetool/clientstats.rst.txt    |    11 -
 .../4.0/_sources/tools/nodetool/compact.rst.txt    |    11 -
 .../tools/nodetool/compactionhistory.rst.txt       |    11 -
 .../tools/nodetool/compactionstats.rst.txt         |    11 -
 .../_sources/tools/nodetool/decommission.rst.txt   |    11 -
 .../tools/nodetool/describecluster.rst.txt         |    11 -
 .../_sources/tools/nodetool/describering.rst.txt   |    11 -
 .../tools/nodetool/disableauditlog.rst.txt         |    11 -
 .../tools/nodetool/disableautocompaction.rst.txt   |    11 -
 .../_sources/tools/nodetool/disablebackup.rst.txt  |    11 -
 .../_sources/tools/nodetool/disablebinary.rst.txt  |    11 -
 .../tools/nodetool/disablefullquerylog.rst.txt     |    11 -
 .../_sources/tools/nodetool/disablegossip.rst.txt  |    11 -
 .../_sources/tools/nodetool/disablehandoff.rst.txt |    11 -
 .../tools/nodetool/disablehintsfordc.rst.txt       |    11 -
 .../nodetool/disableoldprotocolversions.rst.txt    |    11 -
 src/doc/4.0/_sources/tools/nodetool/drain.rst.txt  |    11 -
 .../_sources/tools/nodetool/enableauditlog.rst.txt |    11 -
 .../tools/nodetool/enableautocompaction.rst.txt    |    11 -
 .../_sources/tools/nodetool/enablebackup.rst.txt   |    11 -
 .../_sources/tools/nodetool/enablebinary.rst.txt   |    11 -
 .../tools/nodetool/enablefullquerylog.rst.txt      |    11 -
 .../_sources/tools/nodetool/enablegossip.rst.txt   |    11 -
 .../_sources/tools/nodetool/enablehandoff.rst.txt  |    11 -
 .../tools/nodetool/enablehintsfordc.rst.txt        |    11 -
 .../nodetool/enableoldprotocolversions.rst.txt     |    11 -
 .../tools/nodetool/failuredetector.rst.txt         |    11 -
 src/doc/4.0/_sources/tools/nodetool/flush.rst.txt  |    11 -
 .../_sources/tools/nodetool/garbagecollect.rst.txt |    11 -
 .../4.0/_sources/tools/nodetool/gcstats.rst.txt    |    11 -
 .../nodetool/getbatchlogreplaythrottle.rst.txt     |    11 -
 .../tools/nodetool/getcompactionthreshold.rst.txt  |    11 -
 .../tools/nodetool/getcompactionthroughput.rst.txt |    11 -
 .../tools/nodetool/getconcurrentcompactors.rst.txt |    11 -
 .../nodetool/getconcurrentviewbuilders.rst.txt     |    11 -
 .../_sources/tools/nodetool/getendpoints.rst.txt   |    11 -
 .../nodetool/getinterdcstreamthroughput.rst.txt    |    11 -
 .../tools/nodetool/getlogginglevels.rst.txt        |    11 -
 .../tools/nodetool/getmaxhintwindow.rst.txt        |    11 -
 .../_sources/tools/nodetool/getreplicas.rst.txt    |    11 -
 .../4.0/_sources/tools/nodetool/getseeds.rst.txt   |    11 -
 .../_sources/tools/nodetool/getsstables.rst.txt    |    11 -
 .../tools/nodetool/getstreamthroughput.rst.txt     |    11 -
 .../4.0/_sources/tools/nodetool/gettimeout.rst.txt |    11 -
 .../tools/nodetool/gettraceprobability.rst.txt     |    11 -
 .../4.0/_sources/tools/nodetool/gossipinfo.rst.txt |    11 -
 .../_sources/tools/nodetool/handoffwindow.rst.txt  |    11 -
 src/doc/4.0/_sources/tools/nodetool/help.rst.txt   |    11 -
 src/doc/4.0/_sources/tools/nodetool/import.rst.txt |    11 -
 src/doc/4.0/_sources/tools/nodetool/info.rst.txt   |    11 -
 .../tools/nodetool/invalidatecountercache.rst.txt  |    11 -
 .../tools/nodetool/invalidatekeycache.rst.txt      |    11 -
 .../tools/nodetool/invalidaterowcache.rst.txt      |    11 -
 src/doc/4.0/_sources/tools/nodetool/join.rst.txt   |    11 -
 .../_sources/tools/nodetool/listsnapshots.rst.txt  |    11 -
 src/doc/4.0/_sources/tools/nodetool/move.rst.txt   |    11 -
 .../4.0/_sources/tools/nodetool/netstats.rst.txt   |    11 -
 .../4.0/_sources/tools/nodetool/nodetool.rst.txt   |   250 -
 .../_sources/tools/nodetool/pausehandoff.rst.txt   |    11 -
 .../_sources/tools/nodetool/profileload.rst.txt    |    11 -
 .../tools/nodetool/proxyhistograms.rst.txt         |    11 -
 .../_sources/tools/nodetool/rangekeysample.rst.txt |    11 -
 .../4.0/_sources/tools/nodetool/rebuild.rst.txt    |    11 -
 .../_sources/tools/nodetool/rebuild_index.rst.txt  |    11 -
 .../4.0/_sources/tools/nodetool/refresh.rst.txt    |    11 -
 .../tools/nodetool/refreshsizeestimates.rst.txt    |    11 -
 .../tools/nodetool/reloadlocalschema.rst.txt       |    11 -
 .../_sources/tools/nodetool/reloadseeds.rst.txt    |    11 -
 .../4.0/_sources/tools/nodetool/reloadssl.rst.txt  |    11 -
 .../_sources/tools/nodetool/reloadtriggers.rst.txt |    11 -
 .../tools/nodetool/relocatesstables.rst.txt        |    11 -
 .../4.0/_sources/tools/nodetool/removenode.rst.txt |    11 -
 src/doc/4.0/_sources/tools/nodetool/repair.rst.txt |    11 -
 .../_sources/tools/nodetool/repair_admin.rst.txt   |    11 -
 .../_sources/tools/nodetool/replaybatchlog.rst.txt |    11 -
 .../tools/nodetool/resetfullquerylog.rst.txt       |    11 -
 .../tools/nodetool/resetlocalschema.rst.txt        |    11 -
 .../_sources/tools/nodetool/resumehandoff.rst.txt  |    11 -
 src/doc/4.0/_sources/tools/nodetool/ring.rst.txt   |    11 -
 src/doc/4.0/_sources/tools/nodetool/scrub.rst.txt  |    11 -
 .../nodetool/setbatchlogreplaythrottle.rst.txt     |    11 -
 .../tools/nodetool/setcachecapacity.rst.txt        |    11 -
 .../tools/nodetool/setcachekeystosave.rst.txt      |    11 -
 .../tools/nodetool/setcompactionthreshold.rst.txt  |    11 -
 .../tools/nodetool/setcompactionthroughput.rst.txt |    11 -
 .../tools/nodetool/setconcurrentcompactors.rst.txt |    11 -
 .../nodetool/setconcurrentviewbuilders.rst.txt     |    11 -
 .../nodetool/sethintedhandoffthrottlekb.rst.txt    |    11 -
 .../nodetool/setinterdcstreamthroughput.rst.txt    |    11 -
 .../tools/nodetool/setlogginglevel.rst.txt         |    11 -
 .../tools/nodetool/setmaxhintwindow.rst.txt        |    11 -
 .../tools/nodetool/setstreamthroughput.rst.txt     |    11 -
 .../4.0/_sources/tools/nodetool/settimeout.rst.txt |    11 -
 .../tools/nodetool/settraceprobability.rst.txt     |    11 -
 .../4.0/_sources/tools/nodetool/snapshot.rst.txt   |    11 -
 src/doc/4.0/_sources/tools/nodetool/status.rst.txt |    11 -
 .../tools/nodetool/statusautocompaction.rst.txt    |    11 -
 .../_sources/tools/nodetool/statusbackup.rst.txt   |    11 -
 .../_sources/tools/nodetool/statusbinary.rst.txt   |    11 -
 .../_sources/tools/nodetool/statusgossip.rst.txt   |    11 -
 .../_sources/tools/nodetool/statushandoff.rst.txt  |    11 -
 src/doc/4.0/_sources/tools/nodetool/stop.rst.txt   |    11 -
 .../4.0/_sources/tools/nodetool/stopdaemon.rst.txt |    11 -
 .../tools/nodetool/tablehistograms.rst.txt         |    11 -
 .../4.0/_sources/tools/nodetool/tablestats.rst.txt |    11 -
 .../_sources/tools/nodetool/toppartitions.rst.txt  |    11 -
 .../4.0/_sources/tools/nodetool/tpstats.rst.txt    |    11 -
 .../_sources/tools/nodetool/truncatehints.rst.txt  |    11 -
 .../tools/nodetool/upgradesstables.rst.txt         |    11 -
 src/doc/4.0/_sources/tools/nodetool/verify.rst.txt |    11 -
 .../4.0/_sources/tools/nodetool/version.rst.txt    |    11 -
 .../tools/nodetool/viewbuildstatus.rst.txt         |    11 -
 src/doc/4.0/_sources/tools/sstable/index.rst.txt   |    39 -
 .../4.0/_sources/tools/sstable/sstabledump.rst.txt |   294 -
 .../tools/sstable/sstableexpiredblockers.rst.txt   |    48 -
 .../tools/sstable/sstablelevelreset.rst.txt        |    82 -
 .../_sources/tools/sstable/sstableloader.rst.txt   |   273 -
 .../_sources/tools/sstable/sstablemetadata.rst.txt |   300 -
 .../tools/sstable/sstableofflinerelevel.rst.txt    |    95 -
 .../tools/sstable/sstablerepairedset.rst.txt       |    79 -
 .../_sources/tools/sstable/sstablescrub.rst.txt    |    93 -
 .../_sources/tools/sstable/sstablesplit.rst.txt    |    93 -
 .../_sources/tools/sstable/sstableupgrade.rst.txt  |   137 -
 .../4.0/_sources/tools/sstable/sstableutil.rst.txt |    91 -
 .../_sources/tools/sstable/sstableverify.rst.txt   |    91 -
 .../_sources/troubleshooting/finding_nodes.rst.txt |   149 -
 src/doc/4.0/_sources/troubleshooting/index.rst.txt |    39 -
 .../_sources/troubleshooting/reading_logs.rst.txt  |   267 -
 .../_sources/troubleshooting/use_nodetool.rst.txt  |   245 -
 .../4.0/_sources/troubleshooting/use_tools.rst.txt |   542 -
 src/doc/4.0/_static/ajax-loader.gif                |   Bin 673 -> 0 bytes
 src/doc/4.0/_static/basic.css                      |   676 --
 src/doc/4.0/_static/comment-bright.png             |   Bin 756 -> 0 bytes
 src/doc/4.0/_static/comment-close.png              |   Bin 829 -> 0 bytes
 src/doc/4.0/_static/comment.png                    |   Bin 641 -> 0 bytes
 src/doc/4.0/_static/doctools.js                    |   315 -
 src/doc/4.0/_static/documentation_options.js       |    10 -
 src/doc/4.0/_static/down-pressed.png               |   Bin 222 -> 0 bytes
 src/doc/4.0/_static/down.png                       |   Bin 202 -> 0 bytes
 src/doc/4.0/_static/extra.css                      |    59 -
 src/doc/4.0/_static/file.png                       |   Bin 286 -> 0 bytes
 src/doc/4.0/_static/jquery-3.2.1.js                | 10253 -------------------
 src/doc/4.0/_static/jquery.js                      |     4 -
 src/doc/4.0/_static/language_data.js               |   297 -
 src/doc/4.0/_static/minus.png                      |   Bin 90 -> 0 bytes
 src/doc/4.0/_static/plus.png                       |   Bin 90 -> 0 bytes
 src/doc/4.0/_static/pygments.css                   |    69 -
 src/doc/4.0/_static/searchtools.js                 |   481 -
 src/doc/4.0/_static/underscore-1.3.1.js            |   999 --
 src/doc/4.0/_static/underscore.js                  |    31 -
 src/doc/4.0/_static/up-pressed.png                 |   Bin 214 -> 0 bytes
 src/doc/4.0/_static/up.png                         |   Bin 203 -> 0 bytes
 src/doc/4.0/_static/websupport.js                  |   808 --
 src/doc/4.0/architecture/dynamo.html               |   235 -
 src/doc/4.0/architecture/guarantees.html           |   114 -
 src/doc/4.0/architecture/index.html                |   129 -
 src/doc/4.0/architecture/overview.html             |   114 -
 src/doc/4.0/architecture/storage_engine.html       |   293 -
 src/doc/4.0/bugs.html                              |   109 -
 .../4.0/configuration/cassandra_config_file.html   |  1936 ----
 src/doc/4.0/configuration/index.html               |   110 -
 src/doc/4.0/contactus.html                         |   126 -
 src/doc/4.0/cql/appendices.html                    |   567 -
 src/doc/4.0/cql/changes.html                       |   363 -
 src/doc/4.0/cql/ddl.html                           |   856 --
 src/doc/4.0/cql/definitions.html                   |   316 -
 src/doc/4.0/cql/dml.html                           |   560 -
 src/doc/4.0/cql/functions.html                     |   705 --
 src/doc/4.0/cql/index.html                         |   246 -
 src/doc/4.0/cql/indexes.html                       |   170 -
 src/doc/4.0/cql/json.html                          |   317 -
 src/doc/4.0/cql/mvs.html                           |   260 -
 src/doc/4.0/cql/operators.html                     |   300 -
 src/doc/4.0/cql/security.html                      |   742 --
 src/doc/4.0/cql/triggers.html                      |   155 -
 src/doc/4.0/cql/types.html                         |   699 --
 src/doc/4.0/data_modeling/index.html               |   105 -
 src/doc/4.0/development/ci.html                    |   158 -
 src/doc/4.0/development/code_style.html            |   214 -
 src/doc/4.0/development/dependencies.html          |   155 -
 src/doc/4.0/development/documentation.html         |   192 -
 src/doc/4.0/development/gettingstarted.html        |   160 -
 src/doc/4.0/development/how_to_commit.html         |   186 -
 src/doc/4.0/development/how_to_review.html         |   178 -
 src/doc/4.0/development/ide.html                   |   267 -
 src/doc/4.0/development/index.html                 |   184 -
 src/doc/4.0/development/patches.html               |   271 -
 src/doc/4.0/development/release_process.html       |   380 -
 src/doc/4.0/development/testing.html               |   184 -
 src/doc/4.0/faq/index.html                         |   317 -
 src/doc/4.0/genindex.html                          |    94 -
 src/doc/4.0/getting_started/configuring.html       |   159 -
 src/doc/4.0/getting_started/drivers.html           |   246 -
 src/doc/4.0/getting_started/index.html             |   150 -
 src/doc/4.0/getting_started/installing.html        |   197 -
 src/doc/4.0/getting_started/querying.html          |   145 -
 src/doc/4.0/index.html                             |    86 -
 src/doc/4.0/objects.inv                            |   Bin 8877 -> 0 bytes
 src/doc/4.0/operating/audit_logging.html           |   280 -
 src/doc/4.0/operating/backups.html                 |   124 -
 src/doc/4.0/operating/bloom_filters.html           |   161 -
 src/doc/4.0/operating/bulk_loading.html            |   124 -
 src/doc/4.0/operating/cdc.html                     |   193 -
 src/doc/4.0/operating/compaction.html              |   520 -
 src/doc/4.0/operating/compression.html             |   189 -
 src/doc/4.0/operating/hardware.html                |   190 -
 src/doc/4.0/operating/hints.html                   |   124 -
 src/doc/4.0/operating/index.html                   |   224 -
 src/doc/4.0/operating/metrics.html                 |  1800 ----
 src/doc/4.0/operating/read_repair.html             |   124 -
 src/doc/4.0/operating/repair.html                  |   193 -
 src/doc/4.0/operating/security.html                |   473 -
 src/doc/4.0/operating/snitch.html                  |   177 -
 src/doc/4.0/operating/topo_changes.html            |   221 -
 src/doc/4.0/plugins/index.html                     |   116 -
 src/doc/4.0/search.html                            |   104 -
 src/doc/4.0/searchindex.js                         |     1 -
 src/doc/4.0/tools/cassandra_stress.html            |   352 -
 src/doc/4.0/tools/cqlsh.html                       |   485 -
 src/doc/4.0/tools/index.html                       |   257 -
 src/doc/4.0/tools/nodetool/assassinate.html        |   133 -
 src/doc/4.0/tools/nodetool/bootstrap.html          |   132 -
 src/doc/4.0/tools/nodetool/cleanup.html            |   138 -
 src/doc/4.0/tools/nodetool/clearsnapshot.html      |   141 -
 src/doc/4.0/tools/nodetool/clientstats.html        |   134 -
 src/doc/4.0/tools/nodetool/compact.html            |   150 -
 src/doc/4.0/tools/nodetool/compactionhistory.html  |   128 -
 src/doc/4.0/tools/nodetool/compactionstats.html    |   128 -
 src/doc/4.0/tools/nodetool/decommission.html       |   128 -
 src/doc/4.0/tools/nodetool/describecluster.html    |   125 -
 src/doc/4.0/tools/nodetool/describering.html       |   132 -
 src/doc/4.0/tools/nodetool/disableauditlog.html    |   124 -
 .../4.0/tools/nodetool/disableautocompaction.html  |   134 -
 src/doc/4.0/tools/nodetool/disablebackup.html      |   124 -
 src/doc/4.0/tools/nodetool/disablebinary.html      |   124 -
 .../4.0/tools/nodetool/disablefullquerylog.html    |   124 -
 src/doc/4.0/tools/nodetool/disablegossip.html      |   125 -
 src/doc/4.0/tools/nodetool/disablehandoff.html     |   124 -
 src/doc/4.0/tools/nodetool/disablehintsfordc.html  |   133 -
 .../tools/nodetool/disableoldprotocolversions.html |   124 -
 src/doc/4.0/tools/nodetool/drain.html              |   125 -
 src/doc/4.0/tools/nodetool/enableauditlog.html     |   158 -
 .../4.0/tools/nodetool/enableautocompaction.html   |   134 -
 src/doc/4.0/tools/nodetool/enablebackup.html       |   124 -
 src/doc/4.0/tools/nodetool/enablebinary.html       |   124 -
 src/doc/4.0/tools/nodetool/enablefullquerylog.html |   155 -
 src/doc/4.0/tools/nodetool/enablegossip.html       |   124 -
 src/doc/4.0/tools/nodetool/enablehandoff.html      |   125 -
 src/doc/4.0/tools/nodetool/enablehintsfordc.html   |   134 -
 .../tools/nodetool/enableoldprotocolversions.html  |   124 -
 src/doc/4.0/tools/nodetool/failuredetector.html    |   125 -
 src/doc/4.0/tools/nodetool/flush.html              |   133 -
 src/doc/4.0/tools/nodetool/garbagecollect.html     |   143 -
 src/doc/4.0/tools/nodetool/gcstats.html            |   124 -
 .../tools/nodetool/getbatchlogreplaythrottle.html  |   126 -
 .../4.0/tools/nodetool/getcompactionthreshold.html |   134 -
 .../tools/nodetool/getcompactionthroughput.html    |   125 -
 .../tools/nodetool/getconcurrentcompactors.html    |   125 -
 .../tools/nodetool/getconcurrentviewbuilders.html  |   125 -
 src/doc/4.0/tools/nodetool/getendpoints.html       |   134 -
 .../tools/nodetool/getinterdcstreamthroughput.html |   125 -
 src/doc/4.0/tools/nodetool/getlogginglevels.html   |   124 -
 src/doc/4.0/tools/nodetool/getmaxhintwindow.html   |   124 -
 src/doc/4.0/tools/nodetool/getreplicas.html        |   134 -
 src/doc/4.0/tools/nodetool/getseeds.html           |   125 -
 src/doc/4.0/tools/nodetool/getsstables.html        |   136 -
 .../4.0/tools/nodetool/getstreamthroughput.html    |   125 -
 src/doc/4.0/tools/nodetool/gettimeout.html         |   134 -
 .../4.0/tools/nodetool/gettraceprobability.html    |   124 -
 src/doc/4.0/tools/nodetool/gossipinfo.html         |   124 -
 src/doc/4.0/tools/nodetool/handoffwindow.html      |   124 -
 src/doc/4.0/tools/nodetool/help.html               |   111 -
 src/doc/4.0/tools/nodetool/import.html             |   159 -
 src/doc/4.0/tools/nodetool/info.html               |   127 -
 .../4.0/tools/nodetool/invalidatecountercache.html |   124 -
 src/doc/4.0/tools/nodetool/invalidatekeycache.html |   124 -
 src/doc/4.0/tools/nodetool/invalidaterowcache.html |   124 -
 src/doc/4.0/tools/nodetool/join.html               |   124 -
 src/doc/4.0/tools/nodetool/listsnapshots.html      |   125 -
 src/doc/4.0/tools/nodetool/move.html               |   132 -
 src/doc/4.0/tools/nodetool/netstats.html           |   129 -
 src/doc/4.0/tools/nodetool/nodetool.html           |   242 -
 src/doc/4.0/tools/nodetool/pausehandoff.html       |   124 -
 src/doc/4.0/tools/nodetool/profileload.html        |   143 -
 src/doc/4.0/tools/nodetool/proxyhistograms.html    |   125 -
 src/doc/4.0/tools/nodetool/rangekeysample.html     |   125 -
 src/doc/4.0/tools/nodetool/rebuild.html            |   149 -
 src/doc/4.0/tools/nodetool/rebuild_index.html      |   134 -
 src/doc/4.0/tools/nodetool/refresh.html            |   134 -
 .../4.0/tools/nodetool/refreshsizeestimates.html   |   124 -
 src/doc/4.0/tools/nodetool/reloadlocalschema.html  |   124 -
 src/doc/4.0/tools/nodetool/reloadseeds.html        |   125 -
 src/doc/4.0/tools/nodetool/reloadssl.html          |   124 -
 src/doc/4.0/tools/nodetool/reloadtriggers.html     |   124 -
 src/doc/4.0/tools/nodetool/relocatesstables.html   |   137 -
 src/doc/4.0/tools/nodetool/removenode.html         |   135 -
 src/doc/4.0/tools/nodetool/repair.html             |   197 -
 src/doc/4.0/tools/nodetool/repair_admin.html       |   138 -
 src/doc/4.0/tools/nodetool/replaybatchlog.html     |   124 -
 src/doc/4.0/tools/nodetool/resetfullquerylog.html  |   126 -
 src/doc/4.0/tools/nodetool/resetlocalschema.html   |   124 -
 src/doc/4.0/tools/nodetool/resumehandoff.html      |   124 -
 src/doc/4.0/tools/nodetool/ring.html               |   137 -
 src/doc/4.0/tools/nodetool/scrub.html              |   158 -
 .../tools/nodetool/setbatchlogreplaythrottle.html  |   135 -
 src/doc/4.0/tools/nodetool/setcachecapacity.html   |   134 -
 src/doc/4.0/tools/nodetool/setcachekeystosave.html |   136 -
 .../4.0/tools/nodetool/setcompactionthreshold.html |   134 -
 .../tools/nodetool/setcompactionthroughput.html    |   134 -
 .../tools/nodetool/setconcurrentcompactors.html    |   134 -
 .../tools/nodetool/setconcurrentviewbuilders.html  |   134 -
 .../tools/nodetool/sethintedhandoffthrottlekb.html |   134 -
 .../tools/nodetool/setinterdcstreamthroughput.html |   134 -
 src/doc/4.0/tools/nodetool/setlogginglevel.html    |   137 -
 src/doc/4.0/tools/nodetool/setmaxhintwindow.html   |   133 -
 .../4.0/tools/nodetool/setstreamthroughput.html    |   134 -
 src/doc/4.0/tools/nodetool/settimeout.html         |   137 -
 .../4.0/tools/nodetool/settraceprobability.html    |   135 -
 src/doc/4.0/tools/nodetool/snapshot.html           |   151 -
 src/doc/4.0/tools/nodetool/status.html             |   136 -
 .../4.0/tools/nodetool/statusautocompaction.html   |   137 -
 src/doc/4.0/tools/nodetool/statusbackup.html       |   124 -
 src/doc/4.0/tools/nodetool/statusbinary.html       |   124 -
 src/doc/4.0/tools/nodetool/statusgossip.html       |   124 -
 src/doc/4.0/tools/nodetool/statushandoff.html      |   125 -
 src/doc/4.0/tools/nodetool/stop.html               |   140 -
 src/doc/4.0/tools/nodetool/stopdaemon.html         |   124 -
 src/doc/4.0/tools/nodetool/tablehistograms.html    |   133 -
 src/doc/4.0/tools/nodetool/tablestats.html         |   168 -
 src/doc/4.0/tools/nodetool/toppartitions.html      |   142 -
 src/doc/4.0/tools/nodetool/tpstats.html            |   128 -
 src/doc/4.0/tools/nodetool/truncatehints.html      |   135 -
 src/doc/4.0/tools/nodetool/upgradesstables.html    |   144 -
 src/doc/4.0/tools/nodetool/verify.html             |   153 -
 src/doc/4.0/tools/nodetool/version.html            |   124 -
 src/doc/4.0/tools/nodetool/viewbuildstatus.html    |   133 -
 src/doc/4.0/tools/sstable/index.html               |   228 -
 src/doc/4.0/tools/sstable/sstabledump.html         |   403 -
 .../4.0/tools/sstable/sstableexpiredblockers.html  |   148 -
 src/doc/4.0/tools/sstable/sstablelevelreset.html   |   174 -
 src/doc/4.0/tools/sstable/sstableloader.html       |   408 -
 src/doc/4.0/tools/sstable/sstablemetadata.html     |   472 -
 .../4.0/tools/sstable/sstableofflinerelevel.html   |   189 -
 src/doc/4.0/tools/sstable/sstablerepairedset.html  |   192 -
 src/doc/4.0/tools/sstable/sstablescrub.html        |   210 -
 src/doc/4.0/tools/sstable/sstablesplit.html        |   201 -
 src/doc/4.0/tools/sstable/sstableupgrade.html      |   248 -
 src/doc/4.0/tools/sstable/sstableutil.html         |   204 -
 src/doc/4.0/tools/sstable/sstableverify.html       |   204 -
 src/doc/4.0/troubleshooting/finding_nodes.html     |   240 -
 src/doc/4.0/troubleshooting/index.html             |   147 -
 src/doc/4.0/troubleshooting/reading_logs.html      |   350 -
 src/doc/4.0/troubleshooting/use_nodetool.html      |   320 -
 src/doc/4.0/troubleshooting/use_tools.html         |   608 --
 653 files changed, 136486 deletions(-)

diff --git a/content/doc/4.0/_images/docs_commit.png b/content/doc/4.0/_images/docs_commit.png
deleted file mode 100644
index d90d96a..0000000
Binary files a/content/doc/4.0/_images/docs_commit.png and /dev/null differ
diff --git a/content/doc/4.0/_images/docs_create_branch.png b/content/doc/4.0/_images/docs_create_branch.png
deleted file mode 100644
index a04cb54..0000000
Binary files a/content/doc/4.0/_images/docs_create_branch.png and /dev/null differ
diff --git a/content/doc/4.0/_images/docs_create_file.png b/content/doc/4.0/_images/docs_create_file.png
deleted file mode 100644
index b51e370..0000000
Binary files a/content/doc/4.0/_images/docs_create_file.png and /dev/null differ
diff --git a/content/doc/4.0/_images/docs_editor.png b/content/doc/4.0/_images/docs_editor.png
deleted file mode 100644
index 5b9997b..0000000
Binary files a/content/doc/4.0/_images/docs_editor.png and /dev/null differ
diff --git a/content/doc/4.0/_images/docs_fork.png b/content/doc/4.0/_images/docs_fork.png
deleted file mode 100644
index 20a592a..0000000
Binary files a/content/doc/4.0/_images/docs_fork.png and /dev/null differ
diff --git a/content/doc/4.0/_images/docs_pr.png b/content/doc/4.0/_images/docs_pr.png
deleted file mode 100644
index 211eb25..0000000
Binary files a/content/doc/4.0/_images/docs_pr.png and /dev/null differ
diff --git a/content/doc/4.0/_images/docs_preview.png b/content/doc/4.0/_images/docs_preview.png
deleted file mode 100644
index 207f0ac..0000000
Binary files a/content/doc/4.0/_images/docs_preview.png and /dev/null differ
diff --git a/content/doc/4.0/_images/eclipse_debug0.png b/content/doc/4.0/_images/eclipse_debug0.png
deleted file mode 100644
index 79fc5fd..0000000
Binary files a/content/doc/4.0/_images/eclipse_debug0.png and /dev/null differ
diff --git a/content/doc/4.0/_images/eclipse_debug1.png b/content/doc/4.0/_images/eclipse_debug1.png
deleted file mode 100644
index 87b8756..0000000
Binary files a/content/doc/4.0/_images/eclipse_debug1.png and /dev/null differ
diff --git a/content/doc/4.0/_images/eclipse_debug2.png b/content/doc/4.0/_images/eclipse_debug2.png
deleted file mode 100644
index df4eddb..0000000
Binary files a/content/doc/4.0/_images/eclipse_debug2.png and /dev/null differ
diff --git a/content/doc/4.0/_images/eclipse_debug3.png b/content/doc/4.0/_images/eclipse_debug3.png
deleted file mode 100644
index 2317814..0000000
Binary files a/content/doc/4.0/_images/eclipse_debug3.png and /dev/null differ
diff --git a/content/doc/4.0/_images/eclipse_debug4.png b/content/doc/4.0/_images/eclipse_debug4.png
deleted file mode 100644
index 5063d48..0000000
Binary files a/content/doc/4.0/_images/eclipse_debug4.png and /dev/null differ
diff --git a/content/doc/4.0/_images/eclipse_debug5.png b/content/doc/4.0/_images/eclipse_debug5.png
deleted file mode 100644
index ab68e68..0000000
Binary files a/content/doc/4.0/_images/eclipse_debug5.png and /dev/null differ
diff --git a/content/doc/4.0/_images/eclipse_debug6.png b/content/doc/4.0/_images/eclipse_debug6.png
deleted file mode 100644
index 61ef30b..0000000
Binary files a/content/doc/4.0/_images/eclipse_debug6.png and /dev/null differ
diff --git a/content/doc/4.0/_images/example-stress-graph.png b/content/doc/4.0/_images/example-stress-graph.png
deleted file mode 100644
index a65b08b..0000000
Binary files a/content/doc/4.0/_images/example-stress-graph.png and /dev/null differ
diff --git a/content/doc/4.0/architecture/dynamo.html b/content/doc/4.0/architecture/dynamo.html
deleted file mode 100644
index 23c95a1..0000000
--- a/content/doc/4.0/architecture/dynamo.html
+++ /dev/null
@@ -1,360 +0,0 @@
-<!DOCTYPE html>
-<html>
-  
-
-
-
-<head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="description" content="The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive r [...]
-">
-  <meta name="keywords" content="cassandra, apache, apache cassandra, distributed storage, key value store, scalability, bigtable, dynamo" />
-  <meta name="robots" content="index,follow" />
-  <meta name="language" content="en" />  
-
-  <title>Documentation</title>
-
-  <link rel="canonical" href="http://cassandra.apache.org/doc/4.0/architecture/dynamo.html">
-
-  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
-  <link rel="stylesheet" href="./../../../css/style.css">
-  
-  <link rel="stylesheet" href="./../../../css/sphinx.css">
-  
-
-   <link rel="top" title="Apache Cassandra Documentation v4.0" href="../index.html"/> <link rel="up" title="Architecture" href="index.html"/> <link rel="next" title="Storage Engine" href="storage_engine.html"/> <link rel="prev" title="Overview" href="overview.html"/> 
-  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
-  
-  <link type="application/atom+xml" rel="alternate" href="http://cassandra.apache.org/feed.xml" title="Apache Cassandra Website" />
-</head>
-
-  <body>
-    <!-- breadcrumbs -->
-<div class="topnav">
-  <div class="container breadcrumb-container">
-    <ul class="breadcrumb">
-      <li>
-        <div class="dropdown">
-          <img class="asf-logo" src="./../../../img/asf_feather.png" />
-          <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
-          <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
-            <li><a href="http://www.apache.org">Apache Homepage</a></li>
-            <li><a href="http://www.apache.org/licenses/">License</a></li>
-            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
-            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
-            <li><a href="http://www.apache.org/security/">Security</a></li>
-          </ul>
-        </div>
-      </li>
-
-      
-      <li><a href="./../../../">Apache Cassandra</a></li>
-      
-
-      
-        
-        <li><a href="./../../../doc">Documentation</a></li>
-        
-      
-
-      
-      <li><a href="./">Architecture</a></li>
-      
-
-      
-      <li>Dynamo</li>
-      
-    </ul>
-  </div>
-
-  <!-- navbar -->
-  <nav class="navbar navbar-default navbar-static-top" role="navigation">
-    <div class="container">
-      <div class="navbar-header">
-        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
-          <span class="sr-only">Toggle navigation</span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-        </button>
-        <a class="navbar-brand" href="./../../../"><img src="./../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
-      </div><!-- /.navbar-header -->
-
-      <div id="cassandra-menu" class="collapse navbar-collapse">
-        <ul class="nav navbar-nav navbar-right">
-          <li><a href="./../../../">Home</a></li>
-          <li><a href="./../../../download/">Download</a></li>
-          <li><a href="./../../../doc/">Documentation</a></li>
-          <li><a href="./../../../community/">Community</a></li>
-          <li>
-            <a href="./../../../blog/">Blog</a>
-        </li>
-        </ul>
-      </div><!-- /#cassandra-menu -->
-
-      
-    </div>
-  </nav><!-- /.navbar -->
-</div><!-- /.topnav -->
-
-    <div class="container-fluid">
-  <div class="row">
-    <div class="col-md-3">
-      <div class="doc-navigation">
-        <div class="doc-menu" role="navigation">
-          <div class="navbar-header">
-            <button type="button" class="pull-left navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse">
-              <span class="sr-only">Toggle navigation</span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-            </button>
-          </div>
-          <div class="navbar-collapse collapse sidebar-navbar-collapse">
-            <form id="doc-search-form" class="navbar-form" action="../search.html" method="get" role="search">
-              <div class="form-group">
-                <input type="text" size="30" class="form-control input-sm" name="q" placeholder="Search docs">
-                <input type="hidden" name="check_keywords" value="yes" />
-                <input type="hidden" name="area" value="default" />
-              </div>
-            </form>
-            
-            
-            
-            <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
-<li class="toctree-l1 current"><a class="reference internal" href="index.html">Architecture</a><ul class="current">
-<li class="toctree-l2"><a class="reference internal" href="overview.html">Overview</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Dynamo</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#gossip">Gossip</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#failure-detection">Failure Detection</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#token-ring-ranges">Token Ring/Ranges</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#replication">Replication</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#tunable-consistency">Tunable Consistency</a></li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="storage_engine.html">Storage Engine</a></li>
-<li class="toctree-l2"><a class="reference internal" href="guarantees.html">Guarantees</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../cql/index.html">The Cassandra Query Language (CQL)</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Contributing to Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">Frequently Asked Questions</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Third-Party Plugins</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li>
-</ul>
-
-            
-            
-          </div><!--/.nav-collapse -->
-        </div>
-      </div>
-    </div>
-    <div class="col-md-8">
-      <div class="content doc-content">
-        <div class="content-container">
-          
-  <div class="section" id="dynamo">
-<h1>Dynamo<a class="headerlink" href="#dynamo" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="gossip">
-<span id="id1"></span><h2>Gossip<a class="headerlink" href="#gossip" title="Permalink to this headline">¶</a></h2>
-<div class="admonition-todo admonition" id="index-0">
-<p class="first admonition-title">Todo</p>
-<p class="last">todo</p>
-</div>
-</div>
-<div class="section" id="failure-detection">
-<h2>Failure Detection<a class="headerlink" href="#failure-detection" title="Permalink to this headline">¶</a></h2>
-<div class="admonition-todo admonition" id="index-1">
-<p class="first admonition-title">Todo</p>
-<p class="last">todo</p>
-</div>
-</div>
-<div class="section" id="token-ring-ranges">
-<h2>Token Ring/Ranges<a class="headerlink" href="#token-ring-ranges" title="Permalink to this headline">¶</a></h2>
-<div class="admonition-todo admonition" id="index-2">
-<p class="first admonition-title">Todo</p>
-<p class="last">todo</p>
-</div>
-</div>
-<div class="section" id="replication">
-<span id="replication-strategy"></span><h2>Replication<a class="headerlink" href="#replication" title="Permalink to this headline">¶</a></h2>
-<p>The replication strategy of a keyspace determines which nodes are replicas for a given token range. The two main
-replication strategies are <a class="reference internal" href="#simple-strategy"><span class="std std-ref">SimpleStrategy</span></a> and <a class="reference internal" href="#network-topology-strategy"><span class="std std-ref">NetworkTopologyStrategy</span></a>.</p>
-<div class="section" id="simplestrategy">
-<span id="simple-strategy"></span><h3>SimpleStrategy<a class="headerlink" href="#simplestrategy" title="Permalink to this headline">¶</a></h3>
-<p>SimpleStrategy allows a single integer <code class="docutils literal notranslate"><span class="pre">replication_factor</span></code> to be defined. This determines the number of nodes that
-should contain a copy of each row.  For example, if <code class="docutils literal notranslate"><span class="pre">replication_factor</span></code> is 3, then three different nodes should store
-a copy of each row.</p>
-<p>SimpleStrategy treats all nodes identically, ignoring any configured datacenters or racks.  To determine the replicas
-for a token range, Cassandra iterates through the tokens in the ring, starting with the token range of interest.  For
-each token, it checks whether the owning node has been added to the set of replicas, and if it has not, it is added to
-the set.  This process continues until <code class="docutils literal notranslate"><span class="pre">replication_factor</span></code> distinct nodes have been added to the set of replicas.</p>
-</div>
-<div class="section" id="networktopologystrategy">
-<span id="network-topology-strategy"></span><h3>NetworkTopologyStrategy<a class="headerlink" href="#networktopologystrategy" title="Permalink to this headline">¶</a></h3>
-<p>NetworkTopologyStrategy allows a replication factor to be specified for each datacenter in the cluster.  Even if your
-cluster only uses a single datacenter, NetworkTopologyStrategy should be prefered over SimpleStrategy to make it easier
-to add new physical or virtual datacenters to the cluster later.</p>
-<p>In addition to allowing the replication factor to be specified per-DC, NetworkTopologyStrategy also attempts to choose
-replicas within a datacenter from different racks.  If the number of racks is greater than or equal to the replication
-factor for the DC, each replica will be chosen from a different rack.  Otherwise, each rack will hold at least one
-replica, but some racks may hold more than one. Note that this rack-aware behavior has some potentially <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-3810">surprising
-implications</a>.  For example, if there are not an even number of
-nodes in each rack, the data load on the smallest rack may be much higher.  Similarly, if a single node is bootstrapped
-into a new rack, it will be considered a replica for the entire ring.  For this reason, many operators choose to
-configure all nodes on a single “rack”.</p>
-</div>
-<div class="section" id="transient-replication">
-<span id="id2"></span><h3>Transient Replication<a class="headerlink" href="#transient-replication" title="Permalink to this headline">¶</a></h3>
-<p>Transient replication allows you to configure a subset of replicas to only replicate data that hasn’t been incrementally
-repaired. This allows you to decouple data redundancy from availability. For instance, if you have a keyspace replicated
-at rf 3, and alter it to rf 5 with 2 transient replicas, you go from being able to tolerate one failed replica to being
-able to tolerate two, without corresponding increase in storage usage. This is because 3 nodes will replicate all the data
-for a given token range, and the other 2 will only replicate data that hasn’t been incrementally repaired.</p>
-<p>To use transient replication, you first need to enable it in <code class="docutils literal notranslate"><span class="pre">cassandra.yaml</span></code>. Once enabled, both SimpleStrategy and
-NetworkTopologyStrategy can be configured to transiently replicate data. You configure it by specifying replication factor
-as <code class="docutils literal notranslate"><span class="pre">&lt;total_replicas&gt;/&lt;transient_replicas</span></code> Both SimpleStrategy and NetworkTopologyStrategy support configuring transient
-replication.</p>
-<p>Transiently replicated keyspaces only support tables created with read_repair set to NONE and monotonic reads are not currently supported.
-You also can’t use LWT, logged batches, and counters in 4.0. You will possibly never be able to use materialized views
-with transiently replicated keyspaces and probably never be able to use 2i with them.</p>
-<p>Transient replication is an experimental feature that may not be ready for production use. The expected audienced is experienced
-users of Cassandra capable of fully validating a deployment of their particular application. That means being able check
-that operations like reads, writes, decommission, remove, rebuild, repair, and replace all work with your queries, data,
-configuration, operational practices, and availability requirements.</p>
-<p>It is anticipated that 4.next will support monotonic reads with transient replication as well as LWT, logged batches, and
-counters.</p>
-</div>
-</div>
-<div class="section" id="tunable-consistency">
-<h2>Tunable Consistency<a class="headerlink" href="#tunable-consistency" title="Permalink to this headline">¶</a></h2>
-<p>Cassandra supports a per-operation tradeoff between consistency and availability through <em>Consistency Levels</em>.
-Essentially, an operation’s consistency level specifies how many of the replicas need to respond to the coordinator in
-order to consider the operation a success.</p>
-<p>The following consistency levels are available:</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">ONE</span></code></dt>
-<dd>Only a single replica must respond.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">TWO</span></code></dt>
-<dd>Two replicas must respond.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">THREE</span></code></dt>
-<dd>Three replicas must respond.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">QUORUM</span></code></dt>
-<dd>A majority (n/2 + 1) of the replicas must respond.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">ALL</span></code></dt>
-<dd>All of the replicas must respond.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">LOCAL_QUORUM</span></code></dt>
-<dd>A majority of the replicas in the local datacenter (whichever datacenter the coordinator is in) must respond.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">EACH_QUORUM</span></code></dt>
-<dd>A majority of the replicas in each datacenter must respond.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">LOCAL_ONE</span></code></dt>
-<dd>Only a single replica must respond.  In a multi-datacenter cluster, this also gaurantees that read requests are not
-sent to replicas in a remote datacenter.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">ANY</span></code></dt>
-<dd>A single replica may respond, or the coordinator may store a hint. If a hint is stored, the coordinator will later
-attempt to replay the hint and deliver the mutation to the replicas.  This consistency level is only accepted for
-write operations.</dd>
-</dl>
-<p>Write operations are always sent to all replicas, regardless of consistency level. The consistency level simply
-controls how many responses the coordinator waits for before responding to the client.</p>
-<p>For read operations, the coordinator generally only issues read commands to enough replicas to satisfy the consistency
-level, with one exception. Speculative retry may issue a redundant read request to an extra replica if the other replicas
-have not responded within a specified time window.</p>
-<div class="section" id="picking-consistency-levels">
-<h3>Picking Consistency Levels<a class="headerlink" href="#picking-consistency-levels" title="Permalink to this headline">¶</a></h3>
-<p>It is common to pick read and write consistency levels that are high enough to overlap, resulting in “strong”
-consistency.  This is typically expressed as <code class="docutils literal notranslate"><span class="pre">W</span> <span class="pre">+</span> <span class="pre">R</span> <span class="pre">&gt;</span> <span class="pre">RF</span></code>, where <code class="docutils literal notranslate"><span class="pre">W</span></code> is the write consistency level, <code class="docutils literal notranslate"><span class="pre">R</span></code> is the
-read consistency level, and <code class="docutils literal notranslate"><span class="pre">RF</span></code> is the replication factor.  For example, if <code class="docutils literal notranslate"><span class="pre">RF</span> <span class="pre">=</span> <span class="pre">3</span></code>, a <code class="docutils literal notranslate"><span class="pre">QUORUM</span></code> request will
-require responses from at least two of the three replicas.  If <code class="docutils literal notranslate"><span class="pre">QUORUM</span></code> is used for both writes and reads, at least
-one of the replicas is guaranteed to participate in <em>both</em> the write and the read request, which in turn guarantees that
-the latest write will be read. In a multi-datacenter environment, <code class="docutils literal notranslate"><span class="pre">LOCAL_QUORUM</span></code> can be used to provide a weaker but
-still useful guarantee: reads are guaranteed to see the latest write from within the same datacenter.</p>
-<p>If this type of strong consistency isn’t required, lower consistency levels like <code class="docutils literal notranslate"><span class="pre">ONE</span></code> may be used to improve
-throughput, latency, and availability.</p>
-</div>
-</div>
-</div>
-
-
-
-          
-          <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation">
-            
-            <a href="storage_engine.html" class="btn btn-default pull-right " role="button" title="Storage Engine" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
-            
-            
-            <a href="overview.html" class="btn btn-default" role="button" title="Overview" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
-            
-          </div>
-          
-        </div>
-      </div>
-    </div>
-  </div>
-</div>
-
-    <hr />
-
-<footer>
-  <div class="container">
-    <div class="col-md-4 social-blk">
-      <span class="social">
-        <a href="https://twitter.com/cassandra"
-           class="twitter-follow-button"
-           data-show-count="false" data-size="large">Follow @cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-        <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
-           class="twitter-hashtag-button"
-           data-size="large"
-           data-related="ApacheCassandra">Tweet #cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-
-      </span>
-      <a class="subscribe-rss icon-link" href="/feed.xml" title="Subscribe to Blog via RSS">
-          <span><i class="fa fa-rss"></i></span>
-      </a>
-    </div>
-
-    <div class="col-md-8 trademark">
-      <p>&copy; 2016 <a href="http://apache.org">The Apache Software Foundation</a>.
-      Apache, the Apache feather logo, and Apache Cassandra are trademarks of The Apache Software Foundation.
-      <p>
-    </div>
-  </div><!-- /.container -->
-</footer>
-
-<!-- Javascript. Placed here so pages load faster -->
-<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
-<script src="./../../../js/underscore-min.js"></script>
-<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
-
-
-<script src="./../../../js/doctools.js"></script>
-<script src="./../../../js/searchtools.js"></script>
-
- <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:    "", VERSION:     "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE:  false, SOURCELINK_SUFFIX: ".txt" }; </script> 
-
-
-
-<script type="text/javascript">
-  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
-  document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
-
-  try {
-    var pageTracker = _gat._getTracker("UA-11583863-1");
-    pageTracker._trackPageview();
-  } catch(err) {}
-</script>
-
-
-  </body>
-</html>
diff --git a/content/doc/4.0/architecture/guarantees.html b/content/doc/4.0/architecture/guarantees.html
deleted file mode 100644
index fc66f22..0000000
--- a/content/doc/4.0/architecture/guarantees.html
+++ /dev/null
@@ -1,239 +0,0 @@
-<!DOCTYPE html>
-<html>
-  
-
-
-
-<head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="description" content="The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive r [...]
-">
-  <meta name="keywords" content="cassandra, apache, apache cassandra, distributed storage, key value store, scalability, bigtable, dynamo" />
-  <meta name="robots" content="index,follow" />
-  <meta name="language" content="en" />  
-
-  <title>Documentation</title>
-
-  <link rel="canonical" href="http://cassandra.apache.org/doc/4.0/architecture/guarantees.html">
-
-  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
-  <link rel="stylesheet" href="./../../../css/style.css">
-  
-  <link rel="stylesheet" href="./../../../css/sphinx.css">
-  
-
-   <link rel="top" title="Apache Cassandra Documentation v4.0" href="../index.html"/> <link rel="up" title="Architecture" href="index.html"/> <link rel="next" title="Data Modeling" href="../data_modeling/index.html"/> <link rel="prev" title="Storage Engine" href="storage_engine.html"/> 
-  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
-  
-  <link type="application/atom+xml" rel="alternate" href="http://cassandra.apache.org/feed.xml" title="Apache Cassandra Website" />
-</head>
-
-  <body>
-    <!-- breadcrumbs -->
-<div class="topnav">
-  <div class="container breadcrumb-container">
-    <ul class="breadcrumb">
-      <li>
-        <div class="dropdown">
-          <img class="asf-logo" src="./../../../img/asf_feather.png" />
-          <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
-          <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
-            <li><a href="http://www.apache.org">Apache Homepage</a></li>
-            <li><a href="http://www.apache.org/licenses/">License</a></li>
-            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
-            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
-            <li><a href="http://www.apache.org/security/">Security</a></li>
-          </ul>
-        </div>
-      </li>
-
-      
-      <li><a href="./../../../">Apache Cassandra</a></li>
-      
-
-      
-        
-        <li><a href="./../../../doc">Documentation</a></li>
-        
-      
-
-      
-      <li><a href="./">Architecture</a></li>
-      
-
-      
-      <li>Guarantees</li>
-      
-    </ul>
-  </div>
-
-  <!-- navbar -->
-  <nav class="navbar navbar-default navbar-static-top" role="navigation">
-    <div class="container">
-      <div class="navbar-header">
-        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
-          <span class="sr-only">Toggle navigation</span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-        </button>
-        <a class="navbar-brand" href="./../../../"><img src="./../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
-      </div><!-- /.navbar-header -->
-
-      <div id="cassandra-menu" class="collapse navbar-collapse">
-        <ul class="nav navbar-nav navbar-right">
-          <li><a href="./../../../">Home</a></li>
-          <li><a href="./../../../download/">Download</a></li>
-          <li><a href="./../../../doc/">Documentation</a></li>
-          <li><a href="./../../../community/">Community</a></li>
-          <li>
-            <a href="./../../../blog/">Blog</a>
-        </li>
-        </ul>
-      </div><!-- /#cassandra-menu -->
-
-      
-    </div>
-  </nav><!-- /.navbar -->
-</div><!-- /.topnav -->
-
-    <div class="container-fluid">
-  <div class="row">
-    <div class="col-md-3">
-      <div class="doc-navigation">
-        <div class="doc-menu" role="navigation">
-          <div class="navbar-header">
-            <button type="button" class="pull-left navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse">
-              <span class="sr-only">Toggle navigation</span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-            </button>
-          </div>
-          <div class="navbar-collapse collapse sidebar-navbar-collapse">
-            <form id="doc-search-form" class="navbar-form" action="../search.html" method="get" role="search">
-              <div class="form-group">
-                <input type="text" size="30" class="form-control input-sm" name="q" placeholder="Search docs">
-                <input type="hidden" name="check_keywords" value="yes" />
-                <input type="hidden" name="area" value="default" />
-              </div>
-            </form>
-            
-            
-            
-            <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
-<li class="toctree-l1 current"><a class="reference internal" href="index.html">Architecture</a><ul class="current">
-<li class="toctree-l2"><a class="reference internal" href="overview.html">Overview</a></li>
-<li class="toctree-l2"><a class="reference internal" href="dynamo.html">Dynamo</a></li>
-<li class="toctree-l2"><a class="reference internal" href="storage_engine.html">Storage Engine</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Guarantees</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../cql/index.html">The Cassandra Query Language (CQL)</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Contributing to Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">Frequently Asked Questions</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Third-Party Plugins</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li>
-</ul>
-
-            
-            
-          </div><!--/.nav-collapse -->
-        </div>
-      </div>
-    </div>
-    <div class="col-md-8">
-      <div class="content doc-content">
-        <div class="content-container">
-          
-  <div class="section" id="guarantees">
-<h1>Guarantees<a class="headerlink" href="#guarantees" title="Permalink to this headline">¶</a></h1>
-<div class="admonition-todo admonition" id="index-0">
-<p class="first admonition-title">Todo</p>
-<p class="last">todo</p>
-</div>
-</div>
-
-
-
-          
-          <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation">
-            
-            <a href="../data_modeling/index.html" class="btn btn-default pull-right " role="button" title="Data Modeling" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
-            
-            
-            <a href="storage_engine.html" class="btn btn-default" role="button" title="Storage Engine" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
-            
-          </div>
-          
-        </div>
-      </div>
-    </div>
-  </div>
-</div>
-
-    <hr />
-
-<footer>
-  <div class="container">
-    <div class="col-md-4 social-blk">
-      <span class="social">
-        <a href="https://twitter.com/cassandra"
-           class="twitter-follow-button"
-           data-show-count="false" data-size="large">Follow @cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-        <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
-           class="twitter-hashtag-button"
-           data-size="large"
-           data-related="ApacheCassandra">Tweet #cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-
-      </span>
-      <a class="subscribe-rss icon-link" href="/feed.xml" title="Subscribe to Blog via RSS">
-          <span><i class="fa fa-rss"></i></span>
-      </a>
-    </div>
-
-    <div class="col-md-8 trademark">
-      <p>&copy; 2016 <a href="http://apache.org">The Apache Software Foundation</a>.
-      Apache, the Apache feather logo, and Apache Cassandra are trademarks of The Apache Software Foundation.
-      <p>
-    </div>
-  </div><!-- /.container -->
-</footer>
-
-<!-- Javascript. Placed here so pages load faster -->
-<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
-<script src="./../../../js/underscore-min.js"></script>
-<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
-
-
-<script src="./../../../js/doctools.js"></script>
-<script src="./../../../js/searchtools.js"></script>
-
- <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:    "", VERSION:     "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE:  false, SOURCELINK_SUFFIX: ".txt" }; </script> 
-
-
-
-<script type="text/javascript">
-  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
-  document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
-
-  try {
-    var pageTracker = _gat._getTracker("UA-11583863-1");
-    pageTracker._trackPageview();
-  } catch(err) {}
-</script>
-
-
-  </body>
-</html>
diff --git a/content/doc/4.0/architecture/index.html b/content/doc/4.0/architecture/index.html
deleted file mode 100644
index e9a8cf4..0000000
--- a/content/doc/4.0/architecture/index.html
+++ /dev/null
@@ -1,255 +0,0 @@
-<!DOCTYPE html>
-<html>
-  
-
-
-
-<head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="description" content="The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive r [...]
-">
-  <meta name="keywords" content="cassandra, apache, apache cassandra, distributed storage, key value store, scalability, bigtable, dynamo" />
-  <meta name="robots" content="index,follow" />
-  <meta name="language" content="en" />  
-
-  <title>Documentation</title>
-
-  <link rel="canonical" href="http://cassandra.apache.org/doc/4.0/architecture/">
-
-  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
-  <link rel="stylesheet" href="./../../../css/style.css">
-  
-  <link rel="stylesheet" href="./../../../css/sphinx.css">
-  
-
-   <link rel="top" title="Apache Cassandra Documentation v4.0" href="../index.html"/> <link rel="next" title="Overview" href="overview.html"/> <link rel="prev" title="Client drivers" href="../getting_started/drivers.html"/> 
-  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
-  
-  <link type="application/atom+xml" rel="alternate" href="http://cassandra.apache.org/feed.xml" title="Apache Cassandra Website" />
-</head>
-
-  <body>
-    <!-- breadcrumbs -->
-<div class="topnav">
-  <div class="container breadcrumb-container">
-    <ul class="breadcrumb">
-      <li>
-        <div class="dropdown">
-          <img class="asf-logo" src="./../../../img/asf_feather.png" />
-          <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
-          <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
-            <li><a href="http://www.apache.org">Apache Homepage</a></li>
-            <li><a href="http://www.apache.org/licenses/">License</a></li>
-            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
-            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
-            <li><a href="http://www.apache.org/security/">Security</a></li>
-          </ul>
-        </div>
-      </li>
-
-      
-      <li><a href="./../../../">Apache Cassandra</a></li>
-      
-
-      
-        
-        <li><a href="./../../../doc">Documentation</a></li>
-        
-      
-
-      
-
-      
-      <li>Architecture</li>
-      
-    </ul>
-  </div>
-
-  <!-- navbar -->
-  <nav class="navbar navbar-default navbar-static-top" role="navigation">
-    <div class="container">
-      <div class="navbar-header">
-        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
-          <span class="sr-only">Toggle navigation</span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-        </button>
-        <a class="navbar-brand" href="./../../../"><img src="./../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
-      </div><!-- /.navbar-header -->
-
-      <div id="cassandra-menu" class="collapse navbar-collapse">
-        <ul class="nav navbar-nav navbar-right">
-          <li><a href="./../../../">Home</a></li>
-          <li><a href="./../../../download/">Download</a></li>
-          <li><a href="./../../../doc/">Documentation</a></li>
-          <li><a href="./../../../community/">Community</a></li>
-          <li>
-            <a href="./../../../blog/">Blog</a>
-        </li>
-        </ul>
-      </div><!-- /#cassandra-menu -->
-
-      
-    </div>
-  </nav><!-- /.navbar -->
-</div><!-- /.topnav -->
-
-    <div class="container-fluid">
-  <div class="row">
-    <div class="col-md-3">
-      <div class="doc-navigation">
-        <div class="doc-menu" role="navigation">
-          <div class="navbar-header">
-            <button type="button" class="pull-left navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse">
-              <span class="sr-only">Toggle navigation</span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-            </button>
-          </div>
-          <div class="navbar-collapse collapse sidebar-navbar-collapse">
-            <form id="doc-search-form" class="navbar-form" action="../search.html" method="get" role="search">
-              <div class="form-group">
-                <input type="text" size="30" class="form-control input-sm" name="q" placeholder="Search docs">
-                <input type="hidden" name="check_keywords" value="yes" />
-                <input type="hidden" name="area" value="default" />
-              </div>
-            </form>
-            
-            
-            
-            <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Architecture</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="overview.html">Overview</a></li>
-<li class="toctree-l2"><a class="reference internal" href="dynamo.html">Dynamo</a></li>
-<li class="toctree-l2"><a class="reference internal" href="storage_engine.html">Storage Engine</a></li>
-<li class="toctree-l2"><a class="reference internal" href="guarantees.html">Guarantees</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../cql/index.html">The Cassandra Query Language (CQL)</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Contributing to Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">Frequently Asked Questions</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Third-Party Plugins</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li>
-</ul>
-
-            
-            
-          </div><!--/.nav-collapse -->
-        </div>
-      </div>
-    </div>
-    <div class="col-md-8">
-      <div class="content doc-content">
-        <div class="content-container">
-          
-  <div class="section" id="architecture">
-<h1>Architecture<a class="headerlink" href="#architecture" title="Permalink to this headline">¶</a></h1>
-<p>This section describes the general architecture of Apache Cassandra.</p>
-<div class="toctree-wrapper compound">
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
-<li class="toctree-l1"><a class="reference internal" href="dynamo.html">Dynamo</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="dynamo.html#gossip">Gossip</a></li>
-<li class="toctree-l2"><a class="reference internal" href="dynamo.html#failure-detection">Failure Detection</a></li>
-<li class="toctree-l2"><a class="reference internal" href="dynamo.html#token-ring-ranges">Token Ring/Ranges</a></li>
-<li class="toctree-l2"><a class="reference internal" href="dynamo.html#replication">Replication</a></li>
-<li class="toctree-l2"><a class="reference internal" href="dynamo.html#tunable-consistency">Tunable Consistency</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="storage_engine.html">Storage Engine</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="storage_engine.html#commitlog">CommitLog</a></li>
-<li class="toctree-l2"><a class="reference internal" href="storage_engine.html#memtables">Memtables</a></li>
-<li class="toctree-l2"><a class="reference internal" href="storage_engine.html#sstables">SSTables</a></li>
-<li class="toctree-l2"><a class="reference internal" href="storage_engine.html#sstable-versions">SSTable Versions</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="guarantees.html">Guarantees</a></li>
-</ul>
-</div>
-</div>
-
-
-
-          
-          <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation">
-            
-            <a href="overview.html" class="btn btn-default pull-right " role="button" title="Overview" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
-            
-            
-            <a href="../getting_started/drivers.html" class="btn btn-default" role="button" title="Client drivers" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
-            
-          </div>
-          
-        </div>
-      </div>
-    </div>
-  </div>
-</div>
-
-    <hr />
-
-<footer>
-  <div class="container">
-    <div class="col-md-4 social-blk">
-      <span class="social">
-        <a href="https://twitter.com/cassandra"
-           class="twitter-follow-button"
-           data-show-count="false" data-size="large">Follow @cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-        <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
-           class="twitter-hashtag-button"
-           data-size="large"
-           data-related="ApacheCassandra">Tweet #cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-
-      </span>
-      <a class="subscribe-rss icon-link" href="/feed.xml" title="Subscribe to Blog via RSS">
-          <span><i class="fa fa-rss"></i></span>
-      </a>
-    </div>
-
-    <div class="col-md-8 trademark">
-      <p>&copy; 2016 <a href="http://apache.org">The Apache Software Foundation</a>.
-      Apache, the Apache feather logo, and Apache Cassandra are trademarks of The Apache Software Foundation.
-      <p>
-    </div>
-  </div><!-- /.container -->
-</footer>
-
-<!-- Javascript. Placed here so pages load faster -->
-<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
-<script src="./../../../js/underscore-min.js"></script>
-<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
-
-
-<script src="./../../../js/doctools.js"></script>
-<script src="./../../../js/searchtools.js"></script>
-
- <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:    "", VERSION:     "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE:  false, SOURCELINK_SUFFIX: ".txt" }; </script> 
-
-
-
-<script type="text/javascript">
-  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
-  document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
-
-  try {
-    var pageTracker = _gat._getTracker("UA-11583863-1");
-    pageTracker._trackPageview();
-  } catch(err) {}
-</script>
-
-
-  </body>
-</html>
diff --git a/content/doc/4.0/architecture/overview.html b/content/doc/4.0/architecture/overview.html
deleted file mode 100644
index ea5019f..0000000
--- a/content/doc/4.0/architecture/overview.html
+++ /dev/null
@@ -1,239 +0,0 @@
-<!DOCTYPE html>
-<html>
-  
-
-
-
-<head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="description" content="The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive r [...]
-">
-  <meta name="keywords" content="cassandra, apache, apache cassandra, distributed storage, key value store, scalability, bigtable, dynamo" />
-  <meta name="robots" content="index,follow" />
-  <meta name="language" content="en" />  
-
-  <title>Documentation</title>
-
-  <link rel="canonical" href="http://cassandra.apache.org/doc/4.0/architecture/overview.html">
-
-  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
-  <link rel="stylesheet" href="./../../../css/style.css">
-  
-  <link rel="stylesheet" href="./../../../css/sphinx.css">
-  
-
-   <link rel="top" title="Apache Cassandra Documentation v4.0" href="../index.html"/> <link rel="up" title="Architecture" href="index.html"/> <link rel="next" title="Dynamo" href="dynamo.html"/> <link rel="prev" title="Architecture" href="index.html"/> 
-  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
-  
-  <link type="application/atom+xml" rel="alternate" href="http://cassandra.apache.org/feed.xml" title="Apache Cassandra Website" />
-</head>
-
-  <body>
-    <!-- breadcrumbs -->
-<div class="topnav">
-  <div class="container breadcrumb-container">
-    <ul class="breadcrumb">
-      <li>
-        <div class="dropdown">
-          <img class="asf-logo" src="./../../../img/asf_feather.png" />
-          <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
-          <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
-            <li><a href="http://www.apache.org">Apache Homepage</a></li>
-            <li><a href="http://www.apache.org/licenses/">License</a></li>
-            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
-            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
-            <li><a href="http://www.apache.org/security/">Security</a></li>
-          </ul>
-        </div>
-      </li>
-
-      
-      <li><a href="./../../../">Apache Cassandra</a></li>
-      
-
-      
-        
-        <li><a href="./../../../doc">Documentation</a></li>
-        
-      
-
-      
-      <li><a href="./">Architecture</a></li>
-      
-
-      
-      <li>Overview</li>
-      
-    </ul>
-  </div>
-
-  <!-- navbar -->
-  <nav class="navbar navbar-default navbar-static-top" role="navigation">
-    <div class="container">
-      <div class="navbar-header">
-        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
-          <span class="sr-only">Toggle navigation</span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-        </button>
-        <a class="navbar-brand" href="./../../../"><img src="./../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
-      </div><!-- /.navbar-header -->
-
-      <div id="cassandra-menu" class="collapse navbar-collapse">
-        <ul class="nav navbar-nav navbar-right">
-          <li><a href="./../../../">Home</a></li>
-          <li><a href="./../../../download/">Download</a></li>
-          <li><a href="./../../../doc/">Documentation</a></li>
-          <li><a href="./../../../community/">Community</a></li>
-          <li>
-            <a href="./../../../blog/">Blog</a>
-        </li>
-        </ul>
-      </div><!-- /#cassandra-menu -->
-
-      
-    </div>
-  </nav><!-- /.navbar -->
-</div><!-- /.topnav -->
-
-    <div class="container-fluid">
-  <div class="row">
-    <div class="col-md-3">
-      <div class="doc-navigation">
-        <div class="doc-menu" role="navigation">
-          <div class="navbar-header">
-            <button type="button" class="pull-left navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse">
-              <span class="sr-only">Toggle navigation</span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-            </button>
-          </div>
-          <div class="navbar-collapse collapse sidebar-navbar-collapse">
-            <form id="doc-search-form" class="navbar-form" action="../search.html" method="get" role="search">
-              <div class="form-group">
-                <input type="text" size="30" class="form-control input-sm" name="q" placeholder="Search docs">
-                <input type="hidden" name="check_keywords" value="yes" />
-                <input type="hidden" name="area" value="default" />
-              </div>
-            </form>
-            
-            
-            
-            <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
-<li class="toctree-l1 current"><a class="reference internal" href="index.html">Architecture</a><ul class="current">
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Overview</a></li>
-<li class="toctree-l2"><a class="reference internal" href="dynamo.html">Dynamo</a></li>
-<li class="toctree-l2"><a class="reference internal" href="storage_engine.html">Storage Engine</a></li>
-<li class="toctree-l2"><a class="reference internal" href="guarantees.html">Guarantees</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../cql/index.html">The Cassandra Query Language (CQL)</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Contributing to Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">Frequently Asked Questions</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Third-Party Plugins</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li>
-</ul>
-
-            
-            
-          </div><!--/.nav-collapse -->
-        </div>
-      </div>
-    </div>
-    <div class="col-md-8">
-      <div class="content doc-content">
-        <div class="content-container">
-          
-  <div class="section" id="overview">
-<h1>Overview<a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h1>
-<div class="admonition-todo admonition" id="index-0">
-<p class="first admonition-title">Todo</p>
-<p class="last">todo</p>
-</div>
-</div>
-
-
-
-          
-          <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation">
-            
-            <a href="dynamo.html" class="btn btn-default pull-right " role="button" title="Dynamo" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
-            
-            
-            <a href="index.html" class="btn btn-default" role="button" title="Architecture" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
-            
-          </div>
-          
-        </div>
-      </div>
-    </div>
-  </div>
-</div>
-
-    <hr />
-
-<footer>
-  <div class="container">
-    <div class="col-md-4 social-blk">
-      <span class="social">
-        <a href="https://twitter.com/cassandra"
-           class="twitter-follow-button"
-           data-show-count="false" data-size="large">Follow @cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-        <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
-           class="twitter-hashtag-button"
-           data-size="large"
-           data-related="ApacheCassandra">Tweet #cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-
-      </span>
-      <a class="subscribe-rss icon-link" href="/feed.xml" title="Subscribe to Blog via RSS">
-          <span><i class="fa fa-rss"></i></span>
-      </a>
-    </div>
-
-    <div class="col-md-8 trademark">
-      <p>&copy; 2016 <a href="http://apache.org">The Apache Software Foundation</a>.
-      Apache, the Apache feather logo, and Apache Cassandra are trademarks of The Apache Software Foundation.
-      <p>
-    </div>
-  </div><!-- /.container -->
-</footer>
-
-<!-- Javascript. Placed here so pages load faster -->
-<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
-<script src="./../../../js/underscore-min.js"></script>
-<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
-
-
-<script src="./../../../js/doctools.js"></script>
-<script src="./../../../js/searchtools.js"></script>
-
- <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:    "", VERSION:     "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE:  false, SOURCELINK_SUFFIX: ".txt" }; </script> 
-
-
-
-<script type="text/javascript">
-  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
-  document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
-
-  try {
-    var pageTracker = _gat._getTracker("UA-11583863-1");
-    pageTracker._trackPageview();
-  } catch(err) {}
-</script>
-
-
-  </body>
-</html>
diff --git a/content/doc/4.0/architecture/storage_engine.html b/content/doc/4.0/architecture/storage_engine.html
deleted file mode 100644
index d328b35..0000000
--- a/content/doc/4.0/architecture/storage_engine.html
+++ /dev/null
@@ -1,418 +0,0 @@
-<!DOCTYPE html>
-<html>
-  
-
-
-
-<head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="description" content="The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive r [...]
-">
-  <meta name="keywords" content="cassandra, apache, apache cassandra, distributed storage, key value store, scalability, bigtable, dynamo" />
-  <meta name="robots" content="index,follow" />
-  <meta name="language" content="en" />  
-
-  <title>Documentation</title>
-
-  <link rel="canonical" href="http://cassandra.apache.org/doc/4.0/architecture/storage_engine.html">
-
-  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
-  <link rel="stylesheet" href="./../../../css/style.css">
-  
-  <link rel="stylesheet" href="./../../../css/sphinx.css">
-  
-
-   <link rel="top" title="Apache Cassandra Documentation v4.0" href="../index.html"/> <link rel="up" title="Architecture" href="index.html"/> <link rel="next" title="Guarantees" href="guarantees.html"/> <link rel="prev" title="Dynamo" href="dynamo.html"/> 
-  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
-  
-  <link type="application/atom+xml" rel="alternate" href="http://cassandra.apache.org/feed.xml" title="Apache Cassandra Website" />
-</head>
-
-  <body>
-    <!-- breadcrumbs -->
-<div class="topnav">
-  <div class="container breadcrumb-container">
-    <ul class="breadcrumb">
-      <li>
-        <div class="dropdown">
-          <img class="asf-logo" src="./../../../img/asf_feather.png" />
-          <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
-          <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
-            <li><a href="http://www.apache.org">Apache Homepage</a></li>
-            <li><a href="http://www.apache.org/licenses/">License</a></li>
-            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
-            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
-            <li><a href="http://www.apache.org/security/">Security</a></li>
-          </ul>
-        </div>
-      </li>
-
-      
-      <li><a href="./../../../">Apache Cassandra</a></li>
-      
-
-      
-        
-        <li><a href="./../../../doc">Documentation</a></li>
-        
-      
-
-      
-      <li><a href="./">Architecture</a></li>
-      
-
-      
-      <li>Storage Engine</li>
-      
-    </ul>
-  </div>
-
-  <!-- navbar -->
-  <nav class="navbar navbar-default navbar-static-top" role="navigation">
-    <div class="container">
-      <div class="navbar-header">
-        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
-          <span class="sr-only">Toggle navigation</span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-        </button>
-        <a class="navbar-brand" href="./../../../"><img src="./../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
-      </div><!-- /.navbar-header -->
-
-      <div id="cassandra-menu" class="collapse navbar-collapse">
-        <ul class="nav navbar-nav navbar-right">
-          <li><a href="./../../../">Home</a></li>
-          <li><a href="./../../../download/">Download</a></li>
-          <li><a href="./../../../doc/">Documentation</a></li>
-          <li><a href="./../../../community/">Community</a></li>
-          <li>
-            <a href="./../../../blog/">Blog</a>
-        </li>
-        </ul>
-      </div><!-- /#cassandra-menu -->
-
-      
-    </div>
-  </nav><!-- /.navbar -->
-</div><!-- /.topnav -->
-
-    <div class="container-fluid">
-  <div class="row">
-    <div class="col-md-3">
-      <div class="doc-navigation">
-        <div class="doc-menu" role="navigation">
-          <div class="navbar-header">
-            <button type="button" class="pull-left navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse">
-              <span class="sr-only">Toggle navigation</span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-            </button>
-          </div>
-          <div class="navbar-collapse collapse sidebar-navbar-collapse">
-            <form id="doc-search-form" class="navbar-form" action="../search.html" method="get" role="search">
-              <div class="form-group">
-                <input type="text" size="30" class="form-control input-sm" name="q" placeholder="Search docs">
-                <input type="hidden" name="check_keywords" value="yes" />
-                <input type="hidden" name="area" value="default" />
-              </div>
-            </form>
-            
-            
-            
-            <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
-<li class="toctree-l1 current"><a class="reference internal" href="index.html">Architecture</a><ul class="current">
-<li class="toctree-l2"><a class="reference internal" href="overview.html">Overview</a></li>
-<li class="toctree-l2"><a class="reference internal" href="dynamo.html">Dynamo</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Storage Engine</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#commitlog">CommitLog</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#memtables">Memtables</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#sstables">SSTables</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#sstable-versions">SSTable Versions</a></li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="guarantees.html">Guarantees</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../cql/index.html">The Cassandra Query Language (CQL)</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Contributing to Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">Frequently Asked Questions</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Third-Party Plugins</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li>
-</ul>
-
-            
-            
-          </div><!--/.nav-collapse -->
-        </div>
-      </div>
-    </div>
-    <div class="col-md-8">
-      <div class="content doc-content">
-        <div class="content-container">
-          
-  <div class="section" id="storage-engine">
-<h1>Storage Engine<a class="headerlink" href="#storage-engine" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="commitlog">
-<span id="commit-log"></span><h2>CommitLog<a class="headerlink" href="#commitlog" title="Permalink to this headline">¶</a></h2>
-<p>Commitlogs are an append only log of all mutations local to a Cassandra node. Any data written to Cassandra will first be written to a commit log before being written to a memtable. This provides durability in the case of unexpected shutdown. On startup, any mutations in the commit log will be applied to memtables.</p>
-<p>All mutations write optimized by storing in commitlog segments, reducing the number of seeks needed to write to disk. Commitlog Segments are limited by the “commitlog_segment_size_in_mb” option, once the size is reached, a new commitlog segment is created. Commitlog segments can be archived, deleted, or recycled once all its data has been flushed to SSTables.  Commitlog segments are truncated when Cassandra has written data older than a certain point to the SSTables. Running “nodetool [...]
-<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">commitlog_segment_size_in_mb</span></code>: The default size is 32, which is almost always fine, but if you are archiving commitlog segments (see commitlog_archiving.properties), then you probably want a finer granularity of archiving; 8 or 16 MB is reasonable. Max mutation size is also configurable via max_mutation_size_in_kb setting in cassandra.yaml. The default is half the size commitlog_segment_size_in_mb * 1024.</li>
-</ul>
-<p><strong>*NOTE: If max_mutation_size_in_kb is set explicitly then commitlog_segment_size_in_mb must be set to at least twice the size of max_mutation_size_in_kb / 1024*</strong></p>
-<p><em>Default Value:</em> 32</p>
-<p>Commitlogs are an append only log of all mutations local to a Cassandra node. Any data written to Cassandra will first be written to a commit log before being written to a memtable. This provides durability in the case of unexpected shutdown. On startup, any mutations in the commit log will be applied.</p>
-<ul>
-<li><p class="first"><code class="docutils literal notranslate"><span class="pre">commitlog_sync</span></code>: may be either “periodic” or “batch.”</p>
-<ul>
-<li><p class="first"><code class="docutils literal notranslate"><span class="pre">batch</span></code>: In batch mode, Cassandra won’t ack writes until the commit log has been fsynced to disk. It will wait “commitlog_sync_batch_window_in_ms” milliseconds between fsyncs. This window should be kept short because the writer threads will be unable to do extra work while waiting. You may need to increase concurrent_writes for the same reason.</p>
-<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">commitlog_sync_batch_window_in_ms</span></code>: Time to wait between “batch” fsyncs</li>
-</ul>
-<p><em>Default Value:</em> 2</p>
-</li>
-<li><p class="first"><code class="docutils literal notranslate"><span class="pre">periodic</span></code>: In periodic mode, writes are immediately ack’ed, and the CommitLog is simply synced every “commitlog_sync_period_in_ms” milliseconds.</p>
-<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">commitlog_sync_period_in_ms</span></code>: Time to wait between “periodic” fsyncs</li>
-</ul>
-<p><em>Default Value:</em> 10000</p>
-</li>
-</ul>
-</li>
-</ul>
-<p><em>Default Value:</em> batch</p>
-<p><strong>* NOTE: In the event of an unexpected shutdown, Cassandra can lose up to the sync period or more if the sync is delayed. If using “batch” mode, it is recommended to store commitlogs in a separate, dedicated device.</strong></p>
-<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">commitlog_directory</span></code>: This option is commented out by default When running on magnetic HDD, this should be a separate spindle than the data directories. If not set, the default directory is $CASSANDRA_HOME/data/commitlog.</li>
-</ul>
-<p><em>Default Value:</em> /var/lib/cassandra/commitlog</p>
-<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">commitlog_compression</span></code>: Compression to apply to the commitlog. If omitted, the commit log will be written uncompressed. LZ4, Snappy, Deflate and Zstd compressors are supported.</li>
-</ul>
-<p>(Default Value: (complex option):</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#   - class_name: LZ4Compressor</span>
-<span class="c1">#     parameters:</span>
-<span class="c1">#         -</span>
-</pre></div>
-</div>
-<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">commitlog_total_space_in_mb</span></code>: Total space to use for commit logs on disk.</li>
-</ul>
-<p>If space gets above this value, Cassandra will flush every dirty CF in the oldest segment and remove it. So a small total commitlog space will tend to cause more flush activity on less-active columnfamilies.</p>
-<p>The default value is the smaller of 8192, and 1/4 of the total space of the commitlog volume.</p>
-<p><em>Default Value:</em> 8192</p>
-</div>
-<div class="section" id="memtables">
-<span id="id1"></span><h2>Memtables<a class="headerlink" href="#memtables" title="Permalink to this headline">¶</a></h2>
-<p>Memtables are in-memory structures where Cassandra buffers writes.  In general, there is one active memtable per table.
-Eventually, memtables are flushed onto disk and become immutable <a class="reference internal" href="#sstables">SSTables</a>.  This can be triggered in several
-ways:</p>
-<ul class="simple">
-<li>The memory usage of the memtables exceeds the configured threshold  (see <code class="docutils literal notranslate"><span class="pre">memtable_cleanup_threshold</span></code>)</li>
-<li>The <a class="reference internal" href="#commit-log"><span class="std std-ref">CommitLog</span></a> approaches its maximum size, and forces memtable flushes in order to allow commitlog segments to
-be freed</li>
-</ul>
-<p>Memtables may be stored entirely on-heap or partially off-heap, depending on <code class="docutils literal notranslate"><span class="pre">memtable_allocation_type</span></code>.</p>
-</div>
-<div class="section" id="sstables">
-<h2>SSTables<a class="headerlink" href="#sstables" title="Permalink to this headline">¶</a></h2>
-<p>SSTables are the immutable data files that Cassandra uses for persisting data on disk.</p>
-<p>As SSTables are flushed to disk from <a class="reference internal" href="#memtables"><span class="std std-ref">Memtables</span></a> or are streamed from other nodes, Cassandra triggers compactions
-which combine multiple SSTables into one.  Once the new SSTable has been written, the old SSTables can be removed.</p>
-<p>Each SSTable is comprised of multiple components stored in separate files:</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">Data.db</span></code></dt>
-<dd>The actual data, i.e. the contents of rows.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">Index.db</span></code></dt>
-<dd>An index from partition keys to positions in the <code class="docutils literal notranslate"><span class="pre">Data.db</span></code> file.  For wide partitions, this may also include an
-index to rows within a partition.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">Summary.db</span></code></dt>
-<dd>A sampling of (by default) every 128th entry in the <code class="docutils literal notranslate"><span class="pre">Index.db</span></code> file.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">Filter.db</span></code></dt>
-<dd>A Bloom Filter of the partition keys in the SSTable.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">CompressionInfo.db</span></code></dt>
-<dd>Metadata about the offsets and lengths of compression chunks in the <code class="docutils literal notranslate"><span class="pre">Data.db</span></code> file.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">Statistics.db</span></code></dt>
-<dd>Stores metadata about the SSTable, including information about timestamps, tombstones, clustering keys, compaction,
-repair, compression, TTLs, and more.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">Digest.crc32</span></code></dt>
-<dd>A CRC-32 digest of the <code class="docutils literal notranslate"><span class="pre">Data.db</span></code> file.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">TOC.txt</span></code></dt>
-<dd>A plain text list of the component files for the SSTable.</dd>
-</dl>
-<p>Within the <code class="docutils literal notranslate"><span class="pre">Data.db</span></code> file, rows are organized by partition.  These partitions are sorted in token order (i.e. by a
-hash of the partition key when the default partitioner, <code class="docutils literal notranslate"><span class="pre">Murmur3Partition</span></code>, is used).  Within a partition, rows are
-stored in the order of their clustering keys.</p>
-<p>SSTables can be optionally compressed using block-based compression.</p>
-</div>
-<div class="section" id="sstable-versions">
-<h2>SSTable Versions<a class="headerlink" href="#sstable-versions" title="Permalink to this headline">¶</a></h2>
-<p>This section was created using the following
-<a class="reference external" href="https://gist.github.com/shyamsalimkumar/49a61e5bc6f403d20c55">gist</a>
-which utilized this original
-<a class="reference external" href="http://www.bajb.net/2013/03/cassandra-sstable-format-version-numbers/">source</a>.</p>
-<p>The version numbers, to date are:</p>
-<div class="section" id="version-0">
-<h3>Version 0<a class="headerlink" href="#version-0" title="Permalink to this headline">¶</a></h3>
-<ul class="simple">
-<li>b (0.7.0): added version to sstable filenames</li>
-<li>c (0.7.0): bloom filter component computes hashes over raw key bytes instead of strings</li>
-<li>d (0.7.0): row size in data component becomes a long instead of int</li>
-<li>e (0.7.0): stores undecorated keys in data and index components</li>
-<li>f (0.7.0): switched bloom filter implementations in data component</li>
-<li>g (0.8): tracks flushed-at context in metadata component</li>
-</ul>
-</div>
-<div class="section" id="version-1">
-<h3>Version 1<a class="headerlink" href="#version-1" title="Permalink to this headline">¶</a></h3>
-<ul class="simple">
-<li>h (1.0): tracks max client timestamp in metadata component</li>
-<li>hb (1.0.3): records compression ration in metadata component</li>
-<li>hc (1.0.4): records partitioner in metadata component</li>
-<li>hd (1.0.10): includes row tombstones in maxtimestamp</li>
-<li>he (1.1.3): includes ancestors generation in metadata component</li>
-<li>hf (1.1.6): marker that replay position corresponds to 1.1.5+ millis-based id (see CASSANDRA-4782)</li>
-<li>ia (1.2.0):<ul>
-<li>column indexes are promoted to the index file</li>
-<li>records estimated histogram of deletion times in tombstones</li>
-<li>bloom filter (keys and columns) upgraded to Murmur3</li>
-</ul>
-</li>
-<li>ib (1.2.1): tracks min client timestamp in metadata component</li>
-<li>ic (1.2.5): omits per-row bloom filter of column names</li>
-</ul>
-</div>
-<div class="section" id="version-2">
-<h3>Version 2<a class="headerlink" href="#version-2" title="Permalink to this headline">¶</a></h3>
-<ul class="simple">
-<li>ja (2.0.0):<ul>
-<li>super columns are serialized as composites (note that there is no real format change, this is mostly a marker to know if we should expect super columns or not. We do need a major version bump however, because we should not allow streaming of super columns into this new format)</li>
-<li>tracks max local deletiontime in sstable metadata</li>
-<li>records bloom_filter_fp_chance in metadata component</li>
-<li>remove data size and column count from data file (CASSANDRA-4180)</li>
-<li>tracks max/min column values (according to comparator)</li>
-</ul>
-</li>
-<li>jb (2.0.1):<ul>
-<li>switch from crc32 to adler32 for compression checksums</li>
-<li>checksum the compressed data</li>
-</ul>
-</li>
-<li>ka (2.1.0):<ul>
-<li>new Statistics.db file format</li>
-<li>index summaries can be downsampled and the sampling level is persisted</li>
-<li>switch uncompressed checksums to adler32</li>
-<li>tracks presense of legacy (local and remote) counter shards</li>
-</ul>
-</li>
-<li>la (2.2.0): new file name format</li>
-<li>lb (2.2.7): commit log lower bound included</li>
-</ul>
-</div>
-<div class="section" id="version-3">
-<h3>Version 3<a class="headerlink" href="#version-3" title="Permalink to this headline">¶</a></h3>
-<ul class="simple">
-<li>ma (3.0.0):<ul>
-<li>swap bf hash order</li>
-<li>store rows natively</li>
-</ul>
-</li>
-<li>mb (3.0.7, 3.7): commit log lower bound included</li>
-<li>mc (3.0.8, 3.9): commit log intervals included</li>
-</ul>
-</div>
-<div class="section" id="example-code">
-<h3>Example Code<a class="headerlink" href="#example-code" title="Permalink to this headline">¶</a></h3>
-<p>The following example is useful for finding all sstables that do not match the “ib” SSTable version</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>find /var/lib/cassandra/data/ -type f <span class="p">|</span> grep -v -- -ib- <span class="p">|</span> grep -v <span class="s2">&quot;/snapshots&quot;</span>
-</pre></div>
-</div>
-</div>
-</div>
-</div>
-
-
-
-          
-          <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation">
-            
-            <a href="guarantees.html" class="btn btn-default pull-right " role="button" title="Guarantees" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
-            
-            
-            <a href="dynamo.html" class="btn btn-default" role="button" title="Dynamo" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
-            
-          </div>
-          
-        </div>
-      </div>
-    </div>
-  </div>
-</div>
-
-    <hr />
-
-<footer>
-  <div class="container">
-    <div class="col-md-4 social-blk">
-      <span class="social">
-        <a href="https://twitter.com/cassandra"
-           class="twitter-follow-button"
-           data-show-count="false" data-size="large">Follow @cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-        <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
-           class="twitter-hashtag-button"
-           data-size="large"
-           data-related="ApacheCassandra">Tweet #cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-
-      </span>
-      <a class="subscribe-rss icon-link" href="/feed.xml" title="Subscribe to Blog via RSS">
-          <span><i class="fa fa-rss"></i></span>
-      </a>
-    </div>
-
-    <div class="col-md-8 trademark">
-      <p>&copy; 2016 <a href="http://apache.org">The Apache Software Foundation</a>.
-      Apache, the Apache feather logo, and Apache Cassandra are trademarks of The Apache Software Foundation.
-      <p>
-    </div>
-  </div><!-- /.container -->
-</footer>
-
-<!-- Javascript. Placed here so pages load faster -->
-<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
-<script src="./../../../js/underscore-min.js"></script>
-<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
-
-
-<script src="./../../../js/doctools.js"></script>
-<script src="./../../../js/searchtools.js"></script>
-
- <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:    "", VERSION:     "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE:  false, SOURCELINK_SUFFIX: ".txt" }; </script> 
-
-
-
-<script type="text/javascript">
-  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
-  document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
-
-  try {
-    var pageTracker = _gat._getTracker("UA-11583863-1");
-    pageTracker._trackPageview();
-  } catch(err) {}
-</script>
-
-
-  </body>
-</html>
diff --git a/content/doc/4.0/bugs.html b/content/doc/4.0/bugs.html
deleted file mode 100644
index 9d04b16..0000000
--- a/content/doc/4.0/bugs.html
+++ /dev/null
@@ -1,235 +0,0 @@
-<!DOCTYPE html>
-<html>
-  
-
-
-
-<head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="description" content="The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive r [...]
-">
-  <meta name="keywords" content="cassandra, apache, apache cassandra, distributed storage, key value store, scalability, bigtable, dynamo" />
-  <meta name="robots" content="index,follow" />
-  <meta name="language" content="en" />  
-
-  <title>Documentation</title>
-
-  <link rel="canonical" href="http://cassandra.apache.org/doc/4.0/bugs.html">
-
-  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
-  <link rel="stylesheet" href="./../../css/style.css">
-  
-  <link rel="stylesheet" href="./../../css/sphinx.css">
-  
-
-   <link rel="top" title="Apache Cassandra Documentation v4.0" href="index.html"/> <link rel="next" title="Contact us" href="contactus.html"/> <link rel="prev" title="Third-Party Plugins" href="plugins/index.html"/> 
-  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
-  
-  <link type="application/atom+xml" rel="alternate" href="http://cassandra.apache.org/feed.xml" title="Apache Cassandra Website" />
-</head>
-
-  <body>
-    <!-- breadcrumbs -->
-<div class="topnav">
-  <div class="container breadcrumb-container">
-    <ul class="breadcrumb">
-      <li>
-        <div class="dropdown">
-          <img class="asf-logo" src="./../../img/asf_feather.png" />
-          <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
-          <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
-            <li><a href="http://www.apache.org">Apache Homepage</a></li>
-            <li><a href="http://www.apache.org/licenses/">License</a></li>
-            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
-            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
-            <li><a href="http://www.apache.org/security/">Security</a></li>
-          </ul>
-        </div>
-      </li>
-
-      
-      <li><a href="./../../">Apache Cassandra</a></li>
-      
-
-      
-        
-        <li><a href="./../../doc">Documentation</a></li>
-        
-      
-
-      
-
-      
-      <li>Reporting Bugs</li>
-      
-    </ul>
-  </div>
-
-  <!-- navbar -->
-  <nav class="navbar navbar-default navbar-static-top" role="navigation">
-    <div class="container">
-      <div class="navbar-header">
-        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
-          <span class="sr-only">Toggle navigation</span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-        </button>
-        <a class="navbar-brand" href="./../../"><img src="./../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
-      </div><!-- /.navbar-header -->
-
-      <div id="cassandra-menu" class="collapse navbar-collapse">
-        <ul class="nav navbar-nav navbar-right">
-          <li><a href="./../../">Home</a></li>
-          <li><a href="./../../download/">Download</a></li>
-          <li><a href="./../../doc/">Documentation</a></li>
-          <li><a href="./../../community/">Community</a></li>
-          <li>
-            <a href="./../../blog/">Blog</a>
-        </li>
-        </ul>
-      </div><!-- /#cassandra-menu -->
-
-      
-    </div>
-  </nav><!-- /.navbar -->
-</div><!-- /.topnav -->
-
-    <div class="container-fluid">
-  <div class="row">
-    <div class="col-md-3">
-      <div class="doc-navigation">
-        <div class="doc-menu" role="navigation">
-          <div class="navbar-header">
-            <button type="button" class="pull-left navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse">
-              <span class="sr-only">Toggle navigation</span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-            </button>
-          </div>
-          <div class="navbar-collapse collapse sidebar-navbar-collapse">
-            <form id="doc-search-form" class="navbar-form" action="search.html" method="get" role="search">
-              <div class="form-group">
-                <input type="text" size="30" class="form-control input-sm" name="q" placeholder="Search docs">
-                <input type="hidden" name="check_keywords" value="yes" />
-                <input type="hidden" name="area" value="default" />
-              </div>
-            </form>
-            
-            
-            
-            <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="getting_started/index.html">Getting Started</a></li>
-<li class="toctree-l1"><a class="reference internal" href="architecture/index.html">Architecture</a></li>
-<li class="toctree-l1"><a class="reference internal" href="data_modeling/index.html">Data Modeling</a></li>
-<li class="toctree-l1"><a class="reference internal" href="cql/index.html">The Cassandra Query Language (CQL)</a></li>
-<li class="toctree-l1"><a class="reference internal" href="configuration/index.html">Configuring Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="operating/index.html">Operating Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="tools/index.html">Cassandra Tools</a></li>
-<li class="toctree-l1"><a class="reference internal" href="troubleshooting/index.html">Troubleshooting</a></li>
-<li class="toctree-l1"><a class="reference internal" href="development/index.html">Contributing to Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="faq/index.html">Frequently Asked Questions</a></li>
-<li class="toctree-l1"><a class="reference internal" href="plugins/index.html">Third-Party Plugins</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Reporting Bugs</a></li>
-<li class="toctree-l1"><a class="reference internal" href="contactus.html">Contact us</a></li>
-</ul>
-
-            
-            
-          </div><!--/.nav-collapse -->
-        </div>
-      </div>
-    </div>
-    <div class="col-md-8">
-      <div class="content doc-content">
-        <div class="content-container">
-          
-  <div class="section" id="reporting-bugs">
-<h1>Reporting Bugs<a class="headerlink" href="#reporting-bugs" title="Permalink to this headline">¶</a></h1>
-<p>If you encounter a problem with Cassandra, the first places to ask for help are the <a class="reference internal" href="contactus.html#mailing-lists"><span class="std std-ref">user mailing list</span></a> and the <code class="docutils literal notranslate"><span class="pre">cassandra</span></code> <a class="reference internal" href="contactus.html#slack"><span class="std std-ref">Slack room</span></a>.</p>
-<p>If, after having asked for help, you suspect that you have found a bug in Cassandra, you should report it by opening a
-ticket through the <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA">Apache Cassandra JIRA</a>. Please provide as much
-details as you can on your problem, and don’t forget to indicate which version of Cassandra you are running and on which
-environment.</p>
-<p>Further details on how to contribute can be found at our <a class="reference internal" href="development/index.html"><span class="doc">Contributing to Cassandra</span></a> section. Please note that the source of
-this documentation is part of the Cassandra git repository and hence contributions to the documentation should follow the
-same path.</p>
-</div>
-
-
-
-          
-          <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation">
-            
-            <a href="contactus.html" class="btn btn-default pull-right " role="button" title="Contact us" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
-            
-            
-            <a href="plugins/index.html" class="btn btn-default" role="button" title="Third-Party Plugins" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
-            
-          </div>
-          
-        </div>
-      </div>
-    </div>
-  </div>
-</div>
-
-    <hr />
-
-<footer>
-  <div class="container">
-    <div class="col-md-4 social-blk">
-      <span class="social">
-        <a href="https://twitter.com/cassandra"
-           class="twitter-follow-button"
-           data-show-count="false" data-size="large">Follow @cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-        <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
-           class="twitter-hashtag-button"
-           data-size="large"
-           data-related="ApacheCassandra">Tweet #cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-
-      </span>
-      <a class="subscribe-rss icon-link" href="/feed.xml" title="Subscribe to Blog via RSS">
-          <span><i class="fa fa-rss"></i></span>
-      </a>
-    </div>
-
-    <div class="col-md-8 trademark">
-      <p>&copy; 2016 <a href="http://apache.org">The Apache Software Foundation</a>.
-      Apache, the Apache feather logo, and Apache Cassandra are trademarks of The Apache Software Foundation.
-      <p>
-    </div>
-  </div><!-- /.container -->
-</footer>
-
-<!-- Javascript. Placed here so pages load faster -->
-<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
-<script src="./../../js/underscore-min.js"></script>
-<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
-
-
-<script src="./../../js/doctools.js"></script>
-<script src="./../../js/searchtools.js"></script>
-
- <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:    "", VERSION:     "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE:  false, SOURCELINK_SUFFIX: ".txt" }; </script> 
-
-
-
-<script type="text/javascript">
-  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
-  document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
-
-  try {
-    var pageTracker = _gat._getTracker("UA-11583863-1");
-    pageTracker._trackPageview();
-  } catch(err) {}
-</script>
-
-
-  </body>
-</html>
diff --git a/content/doc/4.0/configuration/cassandra_config_file.html b/content/doc/4.0/configuration/cassandra_config_file.html
deleted file mode 100644
index 30fceac..0000000
--- a/content/doc/4.0/configuration/cassandra_config_file.html
+++ /dev/null
@@ -1,2061 +0,0 @@
-<!DOCTYPE html>
-<html>
-  
-
-
-
-<head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="description" content="The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive r [...]
-">
-  <meta name="keywords" content="cassandra, apache, apache cassandra, distributed storage, key value store, scalability, bigtable, dynamo" />
-  <meta name="robots" content="index,follow" />
-  <meta name="language" content="en" />  
-
-  <title>Documentation</title>
-
-  <link rel="canonical" href="http://cassandra.apache.org/doc/4.0/configuration/cassandra_config_file.html">
-
-  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
-  <link rel="stylesheet" href="./../../../css/style.css">
-  
-  <link rel="stylesheet" href="./../../../css/sphinx.css">
-  
-
-   <link rel="top" title="Apache Cassandra Documentation v4.0" href="../index.html"/> <link rel="up" title="Configuring Cassandra" href="index.html"/> <link rel="next" title="Operating Cassandra" href="../operating/index.html"/> <link rel="prev" title="Configuring Cassandra" href="index.html"/> 
-  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
-  
-  <link type="application/atom+xml" rel="alternate" href="http://cassandra.apache.org/feed.xml" title="Apache Cassandra Website" />
-</head>
-
-  <body>
-    <!-- breadcrumbs -->
-<div class="topnav">
-  <div class="container breadcrumb-container">
-    <ul class="breadcrumb">
-      <li>
-        <div class="dropdown">
-          <img class="asf-logo" src="./../../../img/asf_feather.png" />
-          <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
-          <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
-            <li><a href="http://www.apache.org">Apache Homepage</a></li>
-            <li><a href="http://www.apache.org/licenses/">License</a></li>
-            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
-            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
-            <li><a href="http://www.apache.org/security/">Security</a></li>
-          </ul>
-        </div>
-      </li>
-
-      
-      <li><a href="./../../../">Apache Cassandra</a></li>
-      
-
-      
-        
-        <li><a href="./../../../doc">Documentation</a></li>
-        
-      
-
-      
-      <li><a href="./">Configuring Cassandra</a></li>
-      
-
-      
-      <li>Cassandra Configuration File</li>
-      
-    </ul>
-  </div>
-
-  <!-- navbar -->
-  <nav class="navbar navbar-default navbar-static-top" role="navigation">
-    <div class="container">
-      <div class="navbar-header">
-        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
-          <span class="sr-only">Toggle navigation</span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-        </button>
-        <a class="navbar-brand" href="./../../../"><img src="./../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
-      </div><!-- /.navbar-header -->
-
-      <div id="cassandra-menu" class="collapse navbar-collapse">
-        <ul class="nav navbar-nav navbar-right">
-          <li><a href="./../../../">Home</a></li>
-          <li><a href="./../../../download/">Download</a></li>
-          <li><a href="./../../../doc/">Documentation</a></li>
-          <li><a href="./../../../community/">Community</a></li>
-          <li>
-            <a href="./../../../blog/">Blog</a>
-        </li>
-        </ul>
-      </div><!-- /#cassandra-menu -->
-
-      
-    </div>
-  </nav><!-- /.navbar -->
-</div><!-- /.topnav -->
-
-    <div class="container-fluid">
-  <div class="row">
-    <div class="col-md-3">
-      <div class="doc-navigation">
-        <div class="doc-menu" role="navigation">
-          <div class="navbar-header">
-            <button type="button" class="pull-left navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse">
-              <span class="sr-only">Toggle navigation</span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-            </button>
-          </div>
-          <div class="navbar-collapse collapse sidebar-navbar-collapse">
-            <form id="doc-search-form" class="navbar-form" action="../search.html" method="get" role="search">
-              <div class="form-group">
-                <input type="text" size="30" class="form-control input-sm" name="q" placeholder="Search docs">
-                <input type="hidden" name="check_keywords" value="yes" />
-                <input type="hidden" name="area" value="default" />
-              </div>
-            </form>
-            
-            
-            
-            <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../cql/index.html">The Cassandra Query Language (CQL)</a></li>
-<li class="toctree-l1 current"><a class="reference internal" href="index.html">Configuring Cassandra</a><ul class="current">
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Cassandra Configuration File</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#cluster-name"><code class="docutils literal notranslate"><span class="pre">cluster_name</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#num-tokens"><code class="docutils literal notranslate"><span class="pre">num_tokens</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#allocate-tokens-for-keyspace"><code class="docutils literal notranslate"><span class="pre">allocate_tokens_for_keyspace</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#initial-token"><code class="docutils literal notranslate"><span class="pre">initial_token</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#hinted-handoff-enabled"><code class="docutils literal notranslate"><span class="pre">hinted_handoff_enabled</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#hinted-handoff-disabled-datacenters"><code class="docutils literal notranslate"><span class="pre">hinted_handoff_disabled_datacenters</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#max-hint-window-in-ms"><code class="docutils literal notranslate"><span class="pre">max_hint_window_in_ms</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#hinted-handoff-throttle-in-kb"><code class="docutils literal notranslate"><span class="pre">hinted_handoff_throttle_in_kb</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#max-hints-delivery-threads"><code class="docutils literal notranslate"><span class="pre">max_hints_delivery_threads</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#hints-directory"><code class="docutils literal notranslate"><span class="pre">hints_directory</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#hints-flush-period-in-ms"><code class="docutils literal notranslate"><span class="pre">hints_flush_period_in_ms</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#max-hints-file-size-in-mb"><code class="docutils literal notranslate"><span class="pre">max_hints_file_size_in_mb</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#hints-compression"><code class="docutils literal notranslate"><span class="pre">hints_compression</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#batchlog-replay-throttle-in-kb"><code class="docutils literal notranslate"><span class="pre">batchlog_replay_throttle_in_kb</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#authenticator"><code class="docutils literal notranslate"><span class="pre">authenticator</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#authorizer"><code class="docutils literal notranslate"><span class="pre">authorizer</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#role-manager"><code class="docutils literal notranslate"><span class="pre">role_manager</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#network-authorizer"><code class="docutils literal notranslate"><span class="pre">network_authorizer</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#roles-validity-in-ms"><code class="docutils literal notranslate"><span class="pre">roles_validity_in_ms</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#roles-update-interval-in-ms"><code class="docutils literal notranslate"><span class="pre">roles_update_interval_in_ms</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#permissions-validity-in-ms"><code class="docutils literal notranslate"><span class="pre">permissions_validity_in_ms</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#permissions-update-interval-in-ms"><code class="docutils literal notranslate"><span class="pre">permissions_update_interval_in_ms</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#credentials-validity-in-ms"><code class="docutils literal notranslate"><span class="pre">credentials_validity_in_ms</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#credentials-update-interval-in-ms"><code class="docutils literal notranslate"><span class="pre">credentials_update_interval_in_ms</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#partitioner"><code class="docutils literal notranslate"><span class="pre">partitioner</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#data-file-directories"><code class="docutils literal notranslate"><span class="pre">data_file_directories</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#commitlog-directory"><code class="docutils literal notranslate"><span class="pre">commitlog_directory</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#cdc-enabled"><code class="docutils literal notranslate"><span class="pre">cdc_enabled</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#cdc-raw-directory"><code class="docutils literal notranslate"><span class="pre">cdc_raw_directory</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#disk-failure-policy"><code class="docutils literal notranslate"><span class="pre">disk_failure_policy</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#commit-failure-policy"><code class="docutils literal notranslate"><span class="pre">commit_failure_policy</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#prepared-statements-cache-size-mb"><code class="docutils literal notranslate"><span class="pre">prepared_statements_cache_size_mb</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#key-cache-size-in-mb"><code class="docutils literal notranslate"><span class="pre">key_cache_size_in_mb</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#key-cache-save-period"><code class="docutils literal notranslate"><span class="pre">key_cache_save_period</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#key-cache-keys-to-save"><code class="docutils literal notranslate"><span class="pre">key_cache_keys_to_save</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#row-cache-class-name"><code class="docutils literal notranslate"><span class="pre">row_cache_class_name</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#row-cache-size-in-mb"><code class="docutils literal notranslate"><span class="pre">row_cache_size_in_mb</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#row-cache-save-period"><code class="docutils literal notranslate"><span class="pre">row_cache_save_period</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#row-cache-keys-to-save"><code class="docutils literal notranslate"><span class="pre">row_cache_keys_to_save</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#counter-cache-size-in-mb"><code class="docutils literal notranslate"><span class="pre">counter_cache_size_in_mb</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#counter-cache-save-period"><code class="docutils literal notranslate"><span class="pre">counter_cache_save_period</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#counter-cache-keys-to-save"><code class="docutils literal notranslate"><span class="pre">counter_cache_keys_to_save</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#saved-caches-directory"><code class="docutils literal notranslate"><span class="pre">saved_caches_directory</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#commitlog-sync-batch-window-in-ms"><code class="docutils literal notranslate"><span class="pre">commitlog_sync_batch_window_in_ms</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#commitlog-sync-group-window-in-ms"><code class="docutils literal notranslate"><span class="pre">commitlog_sync_group_window_in_ms</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#commitlog-sync"><code class="docutils literal notranslate"><span class="pre">commitlog_sync</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#commitlog-sync-period-in-ms"><code class="docutils literal notranslate"><span class="pre">commitlog_sync_period_in_ms</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#periodic-commitlog-sync-lag-block-in-ms"><code class="docutils literal notranslate"><span class="pre">periodic_commitlog_sync_lag_block_in_ms</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#commitlog-segment-size-in-mb"><code class="docutils literal notranslate"><span class="pre">commitlog_segment_size_in_mb</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#commitlog-compression"><code class="docutils literal notranslate"><span class="pre">commitlog_compression</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#seed-provider"><code class="docutils literal notranslate"><span class="pre">seed_provider</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#concurrent-reads"><code class="docutils literal notranslate"><span class="pre">concurrent_reads</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#concurrent-writes"><code class="docutils literal notranslate"><span class="pre">concurrent_writes</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#concurrent-counter-writes"><code class="docutils literal notranslate"><span class="pre">concurrent_counter_writes</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#concurrent-materialized-view-writes"><code class="docutils literal notranslate"><span class="pre">concurrent_materialized_view_writes</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#file-cache-size-in-mb"><code class="docutils literal notranslate"><span class="pre">file_cache_size_in_mb</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#buffer-pool-use-heap-if-exhausted"><code class="docutils literal notranslate"><span class="pre">buffer_pool_use_heap_if_exhausted</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#disk-optimization-strategy"><code class="docutils literal notranslate"><span class="pre">disk_optimization_strategy</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#memtable-heap-space-in-mb"><code class="docutils literal notranslate"><span class="pre">memtable_heap_space_in_mb</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#memtable-offheap-space-in-mb"><code class="docutils literal notranslate"><span class="pre">memtable_offheap_space_in_mb</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#memtable-cleanup-threshold"><code class="docutils literal notranslate"><span class="pre">memtable_cleanup_threshold</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#memtable-allocation-type"><code class="docutils literal notranslate"><span class="pre">memtable_allocation_type</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#repair-session-space-in-mb"><code class="docutils literal notranslate"><span class="pre">repair_session_space_in_mb</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#commitlog-total-space-in-mb"><code class="docutils literal notranslate"><span class="pre">commitlog_total_space_in_mb</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#memtable-flush-writers"><code class="docutils literal notranslate"><span class="pre">memtable_flush_writers</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#cdc-total-space-in-mb"><code class="docutils literal notranslate"><span class="pre">cdc_total_space_in_mb</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#cdc-free-space-check-interval-ms"><code class="docutils literal notranslate"><span class="pre">cdc_free_space_check_interval_ms</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#index-summary-capacity-in-mb"><code class="docutils literal notranslate"><span class="pre">index_summary_capacity_in_mb</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#index-summary-resize-interval-in-minutes"><code class="docutils literal notranslate"><span class="pre">index_summary_resize_interval_in_minutes</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#trickle-fsync"><code class="docutils literal notranslate"><span class="pre">trickle_fsync</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#trickle-fsync-interval-in-kb"><code class="docutils literal notranslate"><span class="pre">trickle_fsync_interval_in_kb</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#storage-port"><code class="docutils literal notranslate"><span class="pre">storage_port</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#ssl-storage-port"><code class="docutils literal notranslate"><span class="pre">ssl_storage_port</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#listen-address"><code class="docutils literal notranslate"><span class="pre">listen_address</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#listen-interface"><code class="docutils literal notranslate"><span class="pre">listen_interface</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#listen-interface-prefer-ipv6"><code class="docutils literal notranslate"><span class="pre">listen_interface_prefer_ipv6</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#broadcast-address"><code class="docutils literal notranslate"><span class="pre">broadcast_address</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#listen-on-broadcast-address"><code class="docutils literal notranslate"><span class="pre">listen_on_broadcast_address</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#internode-authenticator"><code class="docutils literal notranslate"><span class="pre">internode_authenticator</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#start-native-transport"><code class="docutils literal notranslate"><span class="pre">start_native_transport</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#native-transport-port"><code class="docutils literal notranslate"><span class="pre">native_transport_port</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#native-transport-port-ssl"><code class="docutils literal notranslate"><span class="pre">native_transport_port_ssl</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#native-transport-max-threads"><code class="docutils literal notranslate"><span class="pre">native_transport_max_threads</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#native-transport-max-frame-size-in-mb"><code class="docutils literal notranslate"><span class="pre">native_transport_max_frame_size_in_mb</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#native-transport-frame-block-size-in-kb"><code class="docutils literal notranslate"><span class="pre">native_transport_frame_block_size_in_kb</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#native-transport-max-concurrent-connections"><code class="docutils literal notranslate"><span class="pre">native_transport_max_concurrent_connections</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#native-transport-max-concurrent-connections-per-ip"><code class="docutils literal notranslate"><span class="pre">native_transport_max_concurrent_connections_per_ip</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#native-transport-allow-older-protocols"><code class="docutils literal notranslate"><span class="pre">native_transport_allow_older_protocols</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#rpc-address"><code class="docutils literal notranslate"><span class="pre">rpc_address</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#rpc-interface"><code class="docutils literal notranslate"><span class="pre">rpc_interface</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#rpc-interface-prefer-ipv6"><code class="docutils literal notranslate"><span class="pre">rpc_interface_prefer_ipv6</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#broadcast-rpc-address"><code class="docutils literal notranslate"><span class="pre">broadcast_rpc_address</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#rpc-keepalive"><code class="docutils literal notranslate"><span class="pre">rpc_keepalive</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#internode-send-buff-size-in-bytes"><code class="docutils literal notranslate"><span class="pre">internode_send_buff_size_in_bytes</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#internode-recv-buff-size-in-bytes"><code class="docutils literal notranslate"><span class="pre">internode_recv_buff_size_in_bytes</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#incremental-backups"><code class="docutils literal notranslate"><span class="pre">incremental_backups</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#snapshot-before-compaction"><code class="docutils literal notranslate"><span class="pre">snapshot_before_compaction</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#auto-snapshot"><code class="docutils literal notranslate"><span class="pre">auto_snapshot</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#column-index-size-in-kb"><code class="docutils literal notranslate"><span class="pre">column_index_size_in_kb</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#column-index-cache-size-in-kb"><code class="docutils literal notranslate"><span class="pre">column_index_cache_size_in_kb</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#concurrent-compactors"><code class="docutils literal notranslate"><span class="pre">concurrent_compactors</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#concurrent-validations"><code class="docutils literal notranslate"><span class="pre">concurrent_validations</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#concurrent-materialized-view-builders"><code class="docutils literal notranslate"><span class="pre">concurrent_materialized_view_builders</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#compaction-throughput-mb-per-sec"><code class="docutils literal notranslate"><span class="pre">compaction_throughput_mb_per_sec</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#sstable-preemptive-open-interval-in-mb"><code class="docutils literal notranslate"><span class="pre">sstable_preemptive_open_interval_in_mb</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#stream-entire-sstables"><code class="docutils literal notranslate"><span class="pre">stream_entire_sstables</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#stream-throughput-outbound-megabits-per-sec"><code class="docutils literal notranslate"><span class="pre">stream_throughput_outbound_megabits_per_sec</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#inter-dc-stream-throughput-outbound-megabits-per-sec"><code class="docutils literal notranslate"><span class="pre">inter_dc_stream_throughput_outbound_megabits_per_sec</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#read-request-timeout-in-ms"><code class="docutils literal notranslate"><span class="pre">read_request_timeout_in_ms</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#range-request-timeout-in-ms"><code class="docutils literal notranslate"><span class="pre">range_request_timeout_in_ms</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#write-request-timeout-in-ms"><code class="docutils literal notranslate"><span class="pre">write_request_timeout_in_ms</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#counter-write-request-timeout-in-ms"><code class="docutils literal notranslate"><span class="pre">counter_write_request_timeout_in_ms</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#cas-contention-timeout-in-ms"><code class="docutils literal notranslate"><span class="pre">cas_contention_timeout_in_ms</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#truncate-request-timeout-in-ms"><code class="docutils literal notranslate"><span class="pre">truncate_request_timeout_in_ms</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#request-timeout-in-ms"><code class="docutils literal notranslate"><span class="pre">request_timeout_in_ms</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#internode-application-send-queue-capacity-in-bytes"><code class="docutils literal notranslate"><span class="pre">internode_application_send_queue_capacity_in_bytes</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#internode-application-send-queue-reserve-endpoint-capacity-in-bytes"><code class="docutils literal notranslate"><span class="pre">internode_application_send_queue_reserve_endpoint_capacity_in_bytes</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#internode-application-send-queue-reserve-global-capacity-in-bytes"><code class="docutils literal notranslate"><span class="pre">internode_application_send_queue_reserve_global_capacity_in_bytes</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#internode-application-receive-queue-capacity-in-bytes"><code class="docutils literal notranslate"><span class="pre">internode_application_receive_queue_capacity_in_bytes</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#internode-application-receive-queue-reserve-endpoint-capacity-in-bytes"><code class="docutils literal notranslate"><span class="pre">internode_application_receive_queue_reserve_endpoint_capacity_in_bytes</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#internode-application-receive-queue-reserve-global-capacity-in-bytes"><code class="docutils literal notranslate"><span class="pre">internode_application_receive_queue_reserve_global_capacity_in_bytes</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#slow-query-log-timeout-in-ms"><code class="docutils literal notranslate"><span class="pre">slow_query_log_timeout_in_ms</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#cross-node-timeout"><code class="docutils literal notranslate"><span class="pre">cross_node_timeout</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#streaming-keep-alive-period-in-secs"><code class="docutils literal notranslate"><span class="pre">streaming_keep_alive_period_in_secs</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#streaming-connections-per-host"><code class="docutils literal notranslate"><span class="pre">streaming_connections_per_host</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#phi-convict-threshold"><code class="docutils literal notranslate"><span class="pre">phi_convict_threshold</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#endpoint-snitch"><code class="docutils literal notranslate"><span class="pre">endpoint_snitch</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#dynamic-snitch-update-interval-in-ms"><code class="docutils literal notranslate"><span class="pre">dynamic_snitch_update_interval_in_ms</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#dynamic-snitch-reset-interval-in-ms"><code class="docutils literal notranslate"><span class="pre">dynamic_snitch_reset_interval_in_ms</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#dynamic-snitch-badness-threshold"><code class="docutils literal notranslate"><span class="pre">dynamic_snitch_badness_threshold</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#server-encryption-options"><code class="docutils literal notranslate"><span class="pre">server_encryption_options</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#client-encryption-options"><code class="docutils literal notranslate"><span class="pre">client_encryption_options</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#internode-compression"><code class="docutils literal notranslate"><span class="pre">internode_compression</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#inter-dc-tcp-nodelay"><code class="docutils literal notranslate"><span class="pre">inter_dc_tcp_nodelay</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#tracetype-query-ttl"><code class="docutils literal notranslate"><span class="pre">tracetype_query_ttl</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#tracetype-repair-ttl"><code class="docutils literal notranslate"><span class="pre">tracetype_repair_ttl</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#enable-user-defined-functions"><code class="docutils literal notranslate"><span class="pre">enable_user_defined_functions</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#enable-scripted-user-defined-functions"><code class="docutils literal notranslate"><span class="pre">enable_scripted_user_defined_functions</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#windows-timer-interval"><code class="docutils literal notranslate"><span class="pre">windows_timer_interval</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#transparent-data-encryption-options"><code class="docutils literal notranslate"><span class="pre">transparent_data_encryption_options</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#tombstone-warn-threshold"><code class="docutils literal notranslate"><span class="pre">tombstone_warn_threshold</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#tombstone-failure-threshold"><code class="docutils literal notranslate"><span class="pre">tombstone_failure_threshold</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#batch-size-warn-threshold-in-kb"><code class="docutils literal notranslate"><span class="pre">batch_size_warn_threshold_in_kb</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#batch-size-fail-threshold-in-kb"><code class="docutils literal notranslate"><span class="pre">batch_size_fail_threshold_in_kb</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#unlogged-batch-across-partitions-warn-threshold"><code class="docutils literal notranslate"><span class="pre">unlogged_batch_across_partitions_warn_threshold</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#compaction-large-partition-warning-threshold-mb"><code class="docutils literal notranslate"><span class="pre">compaction_large_partition_warning_threshold_mb</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#gc-log-threshold-in-ms"><code class="docutils literal notranslate"><span class="pre">gc_log_threshold_in_ms</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#gc-warn-threshold-in-ms"><code class="docutils literal notranslate"><span class="pre">gc_warn_threshold_in_ms</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#max-value-size-in-mb"><code class="docutils literal notranslate"><span class="pre">max_value_size_in_mb</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#back-pressure-enabled"><code class="docutils literal notranslate"><span class="pre">back_pressure_enabled</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#back-pressure-strategy"><code class="docutils literal notranslate"><span class="pre">back_pressure_strategy</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#otc-coalescing-strategy"><code class="docutils literal notranslate"><span class="pre">otc_coalescing_strategy</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#otc-coalescing-window-us"><code class="docutils literal notranslate"><span class="pre">otc_coalescing_window_us</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#otc-coalescing-enough-coalesced-messages"><code class="docutils literal notranslate"><span class="pre">otc_coalescing_enough_coalesced_messages</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#otc-backlog-expiration-interval-ms"><code class="docutils literal notranslate"><span class="pre">otc_backlog_expiration_interval_ms</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#ideal-consistency-level"><code class="docutils literal notranslate"><span class="pre">ideal_consistency_level</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#full-query-log-dir"><code class="docutils literal notranslate"><span class="pre">full_query_log_dir</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#automatic-sstable-upgrade"><code class="docutils literal notranslate"><span class="pre">automatic_sstable_upgrade</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#max-concurrent-automatic-sstable-upgrades"><code class="docutils literal notranslate"><span class="pre">max_concurrent_automatic_sstable_upgrades</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#audit-logging-options"><code class="docutils literal notranslate"><span class="pre">audit_logging_options</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#full-query-logging-options"><code class="docutils literal notranslate"><span class="pre">full_query_logging_options</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#corrupted-tombstone-strategy"><code class="docutils literal notranslate"><span class="pre">corrupted_tombstone_strategy</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#diagnostic-events-enabled"><code class="docutils literal notranslate"><span class="pre">diagnostic_events_enabled</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#native-transport-flush-in-batches-legacy"><code class="docutils literal notranslate"><span class="pre">native_transport_flush_in_batches_legacy</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#repaired-data-tracking-for-range-reads-enabled"><code class="docutils literal notranslate"><span class="pre">repaired_data_tracking_for_range_reads_enabled</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#repaired-data-tracking-for-partition-reads-enabled"><code class="docutils literal notranslate"><span class="pre">repaired_data_tracking_for_partition_reads_enabled</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#report-unconfirmed-repaired-data-mismatches"><code class="docutils literal notranslate"><span class="pre">report_unconfirmed_repaired_data_mismatches</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#enable-materialized-views"><code class="docutils literal notranslate"><span class="pre">enable_materialized_views</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#enable-sasi-indexes"><code class="docutils literal notranslate"><span class="pre">enable_sasi_indexes</span></code></a></li>
-<li class="toctree-l3"><a class="reference internal" href="#enable-transient-replication"><code class="docutils literal notranslate"><span class="pre">enable_transient_replication</span></code></a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Contributing to Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">Frequently Asked Questions</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Third-Party Plugins</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li>
-</ul>
-
-            
-            
-          </div><!--/.nav-collapse -->
-        </div>
-      </div>
-    </div>
-    <div class="col-md-8">
-      <div class="content doc-content">
-        <div class="content-container">
-          
-  <div class="section" id="cassandra-configuration-file">
-<span id="cassandra-yaml"></span><h1>Cassandra Configuration File<a class="headerlink" href="#cassandra-configuration-file" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="cluster-name">
-<h2><code class="docutils literal notranslate"><span class="pre">cluster_name</span></code><a class="headerlink" href="#cluster-name" title="Permalink to this headline">¶</a></h2>
-<p>The name of the cluster. This is mainly used to prevent machines in
-one logical cluster from joining another.</p>
-<p><em>Default Value:</em> ‘Test Cluster’</p>
-</div>
-<div class="section" id="num-tokens">
-<h2><code class="docutils literal notranslate"><span class="pre">num_tokens</span></code><a class="headerlink" href="#num-tokens" title="Permalink to this headline">¶</a></h2>
-<p>This defines the number of tokens randomly assigned to this node on the ring
-The more tokens, relative to other nodes, the larger the proportion of data
-that this node will store. You probably want all nodes to have the same number
-of tokens assuming they have equal hardware capability.</p>
-<p>If you leave this unspecified, Cassandra will use the default of 1 token for legacy compatibility,
-and will use the initial_token as described below.</p>
-<p>Specifying initial_token will override this setting on the node’s initial start,
-on subsequent starts, this setting will apply even if initial token is set.</p>
-<p>If you already have a cluster with 1 token per node, and wish to migrate to
-multiple tokens per node, see <a class="reference external" href="http://wiki.apache.org/cassandra/Operations">http://wiki.apache.org/cassandra/Operations</a></p>
-<p><em>Default Value:</em> 256</p>
-</div>
-<div class="section" id="allocate-tokens-for-keyspace">
-<h2><code class="docutils literal notranslate"><span class="pre">allocate_tokens_for_keyspace</span></code><a class="headerlink" href="#allocate-tokens-for-keyspace" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Triggers automatic allocation of num_tokens tokens for this node. The allocation
-algorithm attempts to choose tokens in a way that optimizes replicated load over
-the nodes in the datacenter for the replication strategy used by the specified
-keyspace.</p>
-<p>The load assigned to each node will be close to proportional to its number of
-vnodes.</p>
-<p>Only supported with the Murmur3Partitioner.</p>
-<p><em>Default Value:</em> KEYSPACE</p>
-</div>
-<div class="section" id="initial-token">
-<h2><code class="docutils literal notranslate"><span class="pre">initial_token</span></code><a class="headerlink" href="#initial-token" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>initial_token allows you to specify tokens manually.  While you can use it with
-vnodes (num_tokens &gt; 1, above) – in which case you should provide a
-comma-separated list – it’s primarily used when adding nodes to legacy clusters
-that do not have vnodes enabled.</p>
-</div>
-<div class="section" id="hinted-handoff-enabled">
-<h2><code class="docutils literal notranslate"><span class="pre">hinted_handoff_enabled</span></code><a class="headerlink" href="#hinted-handoff-enabled" title="Permalink to this headline">¶</a></h2>
-<p>See <a class="reference external" href="http://wiki.apache.org/cassandra/HintedHandoff">http://wiki.apache.org/cassandra/HintedHandoff</a>
-May either be “true” or “false” to enable globally</p>
-<p><em>Default Value:</em> true</p>
-</div>
-<div class="section" id="hinted-handoff-disabled-datacenters">
-<h2><code class="docutils literal notranslate"><span class="pre">hinted_handoff_disabled_datacenters</span></code><a class="headerlink" href="#hinted-handoff-disabled-datacenters" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>When hinted_handoff_enabled is true, a black list of data centers that will not
-perform hinted handoff</p>
-<p><em>Default Value (complex option)</em>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#    - DC1</span>
-<span class="c1">#    - DC2</span>
-</pre></div>
-</div>
-</div>
-<div class="section" id="max-hint-window-in-ms">
-<h2><code class="docutils literal notranslate"><span class="pre">max_hint_window_in_ms</span></code><a class="headerlink" href="#max-hint-window-in-ms" title="Permalink to this headline">¶</a></h2>
-<p>this defines the maximum amount of time a dead host will have hints
-generated.  After it has been dead this long, new hints for it will not be
-created until it has been seen alive and gone down again.</p>
-<p><em>Default Value:</em> 10800000 # 3 hours</p>
-</div>
-<div class="section" id="hinted-handoff-throttle-in-kb">
-<h2><code class="docutils literal notranslate"><span class="pre">hinted_handoff_throttle_in_kb</span></code><a class="headerlink" href="#hinted-handoff-throttle-in-kb" title="Permalink to this headline">¶</a></h2>
-<p>Maximum throttle in KBs per second, per delivery thread.  This will be
-reduced proportionally to the number of nodes in the cluster.  (If there
-are two nodes in the cluster, each delivery thread will use the maximum
-rate; if there are three, each will throttle to half of the maximum,
-since we expect two nodes to be delivering hints simultaneously.)</p>
-<p><em>Default Value:</em> 1024</p>
-</div>
-<div class="section" id="max-hints-delivery-threads">
-<h2><code class="docutils literal notranslate"><span class="pre">max_hints_delivery_threads</span></code><a class="headerlink" href="#max-hints-delivery-threads" title="Permalink to this headline">¶</a></h2>
-<p>Number of threads with which to deliver hints;
-Consider increasing this number when you have multi-dc deployments, since
-cross-dc handoff tends to be slower</p>
-<p><em>Default Value:</em> 2</p>
-</div>
-<div class="section" id="hints-directory">
-<h2><code class="docutils literal notranslate"><span class="pre">hints_directory</span></code><a class="headerlink" href="#hints-directory" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Directory where Cassandra should store hints.
-If not set, the default directory is $CASSANDRA_HOME/data/hints.</p>
-<p><em>Default Value:</em>  /var/lib/cassandra/hints</p>
-</div>
-<div class="section" id="hints-flush-period-in-ms">
-<h2><code class="docutils literal notranslate"><span class="pre">hints_flush_period_in_ms</span></code><a class="headerlink" href="#hints-flush-period-in-ms" title="Permalink to this headline">¶</a></h2>
-<p>How often hints should be flushed from the internal buffers to disk.
-Will <em>not</em> trigger fsync.</p>
-<p><em>Default Value:</em> 10000</p>
-</div>
-<div class="section" id="max-hints-file-size-in-mb">
-<h2><code class="docutils literal notranslate"><span class="pre">max_hints_file_size_in_mb</span></code><a class="headerlink" href="#max-hints-file-size-in-mb" title="Permalink to this headline">¶</a></h2>
-<p>Maximum size for a single hints file, in megabytes.</p>
-<p><em>Default Value:</em> 128</p>
-</div>
-<div class="section" id="hints-compression">
-<h2><code class="docutils literal notranslate"><span class="pre">hints_compression</span></code><a class="headerlink" href="#hints-compression" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Compression to apply to the hint files. If omitted, hints files
-will be written uncompressed. LZ4, Snappy, and Deflate compressors
-are supported.</p>
-<p><em>Default Value (complex option)</em>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#   - class_name: LZ4Compressor</span>
-<span class="c1">#     parameters:</span>
-<span class="c1">#         -</span>
-</pre></div>
-</div>
-</div>
-<div class="section" id="batchlog-replay-throttle-in-kb">
-<h2><code class="docutils literal notranslate"><span class="pre">batchlog_replay_throttle_in_kb</span></code><a class="headerlink" href="#batchlog-replay-throttle-in-kb" title="Permalink to this headline">¶</a></h2>
-<p>Maximum throttle in KBs per second, total. This will be
-reduced proportionally to the number of nodes in the cluster.</p>
-<p><em>Default Value:</em> 1024</p>
-</div>
-<div class="section" id="authenticator">
-<h2><code class="docutils literal notranslate"><span class="pre">authenticator</span></code><a class="headerlink" href="#authenticator" title="Permalink to this headline">¶</a></h2>
-<p>Authentication backend, implementing IAuthenticator; used to identify users
-Out of the box, Cassandra provides org.apache.cassandra.auth.{AllowAllAuthenticator,
-PasswordAuthenticator}.</p>
-<ul class="simple">
-<li>AllowAllAuthenticator performs no checks - set it to disable authentication.</li>
-<li>PasswordAuthenticator relies on username/password pairs to authenticate
-users. It keeps usernames and hashed passwords in system_auth.roles table.
-Please increase system_auth keyspace replication factor if you use this authenticator.
-If using PasswordAuthenticator, CassandraRoleManager must also be used (see below)</li>
-</ul>
-<p><em>Default Value:</em> AllowAllAuthenticator</p>
-</div>
-<div class="section" id="authorizer">
-<h2><code class="docutils literal notranslate"><span class="pre">authorizer</span></code><a class="headerlink" href="#authorizer" title="Permalink to this headline">¶</a></h2>
-<p>Authorization backend, implementing IAuthorizer; used to limit access/provide permissions
-Out of the box, Cassandra provides org.apache.cassandra.auth.{AllowAllAuthorizer,
-CassandraAuthorizer}.</p>
-<ul class="simple">
-<li>AllowAllAuthorizer allows any action to any user - set it to disable authorization.</li>
-<li>CassandraAuthorizer stores permissions in system_auth.role_permissions table. Please
-increase system_auth keyspace replication factor if you use this authorizer.</li>
-</ul>
-<p><em>Default Value:</em> AllowAllAuthorizer</p>
-</div>
-<div class="section" id="role-manager">
-<h2><code class="docutils literal notranslate"><span class="pre">role_manager</span></code><a class="headerlink" href="#role-manager" title="Permalink to this headline">¶</a></h2>
-<p>Part of the Authentication &amp; Authorization backend, implementing IRoleManager; used
-to maintain grants and memberships between roles.
-Out of the box, Cassandra provides org.apache.cassandra.auth.CassandraRoleManager,
-which stores role information in the system_auth keyspace. Most functions of the
-IRoleManager require an authenticated login, so unless the configured IAuthenticator
-actually implements authentication, most of this functionality will be unavailable.</p>
-<ul class="simple">
-<li>CassandraRoleManager stores role data in the system_auth keyspace. Please
-increase system_auth keyspace replication factor if you use this role manager.</li>
-</ul>
-<p><em>Default Value:</em> CassandraRoleManager</p>
-</div>
-<div class="section" id="network-authorizer">
-<h2><code class="docutils literal notranslate"><span class="pre">network_authorizer</span></code><a class="headerlink" href="#network-authorizer" title="Permalink to this headline">¶</a></h2>
-<p>Network authorization backend, implementing INetworkAuthorizer; used to restrict user
-access to certain DCs
-Out of the box, Cassandra provides org.apache.cassandra.auth.{AllowAllNetworkAuthorizer,
-CassandraNetworkAuthorizer}.</p>
-<ul class="simple">
-<li>AllowAllNetworkAuthorizer allows access to any DC to any user - set it to disable authorization.</li>
-<li>CassandraNetworkAuthorizer stores permissions in system_auth.network_permissions table. Please
-increase system_auth keyspace replication factor if you use this authorizer.</li>
-</ul>
-<p><em>Default Value:</em> AllowAllNetworkAuthorizer</p>
-</div>
-<div class="section" id="roles-validity-in-ms">
-<h2><code class="docutils literal notranslate"><span class="pre">roles_validity_in_ms</span></code><a class="headerlink" href="#roles-validity-in-ms" title="Permalink to this headline">¶</a></h2>
-<p>Validity period for roles cache (fetching granted roles can be an expensive
-operation depending on the role manager, CassandraRoleManager is one example)
-Granted roles are cached for authenticated sessions in AuthenticatedUser and
-after the period specified here, become eligible for (async) reload.
-Defaults to 2000, set to 0 to disable caching entirely.
-Will be disabled automatically for AllowAllAuthenticator.</p>
-<p><em>Default Value:</em> 2000</p>
-</div>
-<div class="section" id="roles-update-interval-in-ms">
-<h2><code class="docutils literal notranslate"><span class="pre">roles_update_interval_in_ms</span></code><a class="headerlink" href="#roles-update-interval-in-ms" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Refresh interval for roles cache (if enabled).
-After this interval, cache entries become eligible for refresh. Upon next
-access, an async reload is scheduled and the old value returned until it
-completes. If roles_validity_in_ms is non-zero, then this must be
-also.
-Defaults to the same value as roles_validity_in_ms.</p>
-<p><em>Default Value:</em> 2000</p>
-</div>
-<div class="section" id="permissions-validity-in-ms">
-<h2><code class="docutils literal notranslate"><span class="pre">permissions_validity_in_ms</span></code><a class="headerlink" href="#permissions-validity-in-ms" title="Permalink to this headline">¶</a></h2>
-<p>Validity period for permissions cache (fetching permissions can be an
-expensive operation depending on the authorizer, CassandraAuthorizer is
-one example). Defaults to 2000, set to 0 to disable.
-Will be disabled automatically for AllowAllAuthorizer.</p>
-<p><em>Default Value:</em> 2000</p>
-</div>
-<div class="section" id="permissions-update-interval-in-ms">
-<h2><code class="docutils literal notranslate"><span class="pre">permissions_update_interval_in_ms</span></code><a class="headerlink" href="#permissions-update-interval-in-ms" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Refresh interval for permissions cache (if enabled).
-After this interval, cache entries become eligible for refresh. Upon next
-access, an async reload is scheduled and the old value returned until it
-completes. If permissions_validity_in_ms is non-zero, then this must be
-also.
-Defaults to the same value as permissions_validity_in_ms.</p>
-<p><em>Default Value:</em> 2000</p>
-</div>
-<div class="section" id="credentials-validity-in-ms">
-<h2><code class="docutils literal notranslate"><span class="pre">credentials_validity_in_ms</span></code><a class="headerlink" href="#credentials-validity-in-ms" title="Permalink to this headline">¶</a></h2>
-<p>Validity period for credentials cache. This cache is tightly coupled to
-the provided PasswordAuthenticator implementation of IAuthenticator. If
-another IAuthenticator implementation is configured, this cache will not
-be automatically used and so the following settings will have no effect.
-Please note, credentials are cached in their encrypted form, so while
-activating this cache may reduce the number of queries made to the
-underlying table, it may not  bring a significant reduction in the
-latency of individual authentication attempts.
-Defaults to 2000, set to 0 to disable credentials caching.</p>
-<p><em>Default Value:</em> 2000</p>
-</div>
-<div class="section" id="credentials-update-interval-in-ms">
-<h2><code class="docutils literal notranslate"><span class="pre">credentials_update_interval_in_ms</span></code><a class="headerlink" href="#credentials-update-interval-in-ms" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Refresh interval for credentials cache (if enabled).
-After this interval, cache entries become eligible for refresh. Upon next
-access, an async reload is scheduled and the old value returned until it
-completes. If credentials_validity_in_ms is non-zero, then this must be
-also.
-Defaults to the same value as credentials_validity_in_ms.</p>
-<p><em>Default Value:</em> 2000</p>
-</div>
-<div class="section" id="partitioner">
-<h2><code class="docutils literal notranslate"><span class="pre">partitioner</span></code><a class="headerlink" href="#partitioner" title="Permalink to this headline">¶</a></h2>
-<p>The partitioner is responsible for distributing groups of rows (by
-partition key) across nodes in the cluster. The partitioner can NOT be
-changed without reloading all data.  If you are adding nodes or upgrading,
-you should set this to the same partitioner that you are currently using.</p>
-<p>The default partitioner is the Murmur3Partitioner. Older partitioners
-such as the RandomPartitioner, ByteOrderedPartitioner, and
-OrderPreservingPartitioner have been included for backward compatibility only.
-For new clusters, you should NOT change this value.</p>
-<p><em>Default Value:</em> org.apache.cassandra.dht.Murmur3Partitioner</p>
-</div>
-<div class="section" id="data-file-directories">
-<h2><code class="docutils literal notranslate"><span class="pre">data_file_directories</span></code><a class="headerlink" href="#data-file-directories" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Directories where Cassandra should store data on disk. If multiple
-directories are specified, Cassandra will spread data evenly across
-them by partitioning the token ranges.
-If not set, the default directory is $CASSANDRA_HOME/data/data.</p>
-<p><em>Default Value (complex option)</em>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#     - /var/lib/cassandra/data</span>
-</pre></div>
-</div>
-</div>
-<div class="section" id="commitlog-directory">
-<h2><code class="docutils literal notranslate"><span class="pre">commitlog_directory</span></code><a class="headerlink" href="#commitlog-directory" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em>
-commit log.  when running on magnetic HDD, this should be a
-separate spindle than the data directories.
-If not set, the default directory is $CASSANDRA_HOME/data/commitlog.</p>
-<p><em>Default Value:</em>  /var/lib/cassandra/commitlog</p>
-</div>
-<div class="section" id="cdc-enabled">
-<h2><code class="docutils literal notranslate"><span class="pre">cdc_enabled</span></code><a class="headerlink" href="#cdc-enabled" title="Permalink to this headline">¶</a></h2>
-<p>Enable / disable CDC functionality on a per-node basis. This modifies the logic used
-for write path allocation rejection (standard: never reject. cdc: reject Mutation
-containing a CDC-enabled table if at space limit in cdc_raw_directory).</p>
-<p><em>Default Value:</em> false</p>
-</div>
-<div class="section" id="cdc-raw-directory">
-<h2><code class="docutils literal notranslate"><span class="pre">cdc_raw_directory</span></code><a class="headerlink" href="#cdc-raw-directory" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>CommitLogSegments are moved to this directory on flush if cdc_enabled: true and the
-segment contains mutations for a CDC-enabled table. This should be placed on a
-separate spindle than the data directories. If not set, the default directory is
-$CASSANDRA_HOME/data/cdc_raw.</p>
-<p><em>Default Value:</em>  /var/lib/cassandra/cdc_raw</p>
-</div>
-<div class="section" id="disk-failure-policy">
-<h2><code class="docutils literal notranslate"><span class="pre">disk_failure_policy</span></code><a class="headerlink" href="#disk-failure-policy" title="Permalink to this headline">¶</a></h2>
-<p>Policy for data disk failures:</p>
-<dl class="docutils">
-<dt>die</dt>
-<dd>shut down gossip and client transports and kill the JVM for any fs errors or
-single-sstable errors, so the node can be replaced.</dd>
-<dt>stop_paranoid</dt>
-<dd>shut down gossip and client transports even for single-sstable errors,
-kill the JVM for errors during startup.</dd>
-<dt>stop</dt>
-<dd>shut down gossip and client transports, leaving the node effectively dead, but
-can still be inspected via JMX, kill the JVM for errors during startup.</dd>
-<dt>best_effort</dt>
-<dd>stop using the failed disk and respond to requests based on
-remaining available sstables.  This means you WILL see obsolete
-data at CL.ONE!</dd>
-<dt>ignore</dt>
-<dd>ignore fatal errors and let requests fail, as in pre-1.2 Cassandra</dd>
-</dl>
-<p><em>Default Value:</em> stop</p>
-</div>
-<div class="section" id="commit-failure-policy">
-<h2><code class="docutils literal notranslate"><span class="pre">commit_failure_policy</span></code><a class="headerlink" href="#commit-failure-policy" title="Permalink to this headline">¶</a></h2>
-<p>Policy for commit disk failures:</p>
-<dl class="docutils">
-<dt>die</dt>
-<dd>shut down the node and kill the JVM, so the node can be replaced.</dd>
-<dt>stop</dt>
-<dd>shut down the node, leaving the node effectively dead, but
-can still be inspected via JMX.</dd>
-<dt>stop_commit</dt>
-<dd>shutdown the commit log, letting writes collect but
-continuing to service reads, as in pre-2.0.5 Cassandra</dd>
-<dt>ignore</dt>
-<dd>ignore fatal errors and let the batches fail</dd>
-</dl>
-<p><em>Default Value:</em> stop</p>
-</div>
-<div class="section" id="prepared-statements-cache-size-mb">
-<h2><code class="docutils literal notranslate"><span class="pre">prepared_statements_cache_size_mb</span></code><a class="headerlink" href="#prepared-statements-cache-size-mb" title="Permalink to this headline">¶</a></h2>
-<p>Maximum size of the native protocol prepared statement cache</p>
-<p>Valid values are either “auto” (omitting the value) or a value greater 0.</p>
-<p>Note that specifying a too large value will result in long running GCs and possbily
-out-of-memory errors. Keep the value at a small fraction of the heap.</p>
-<p>If you constantly see “prepared statements discarded in the last minute because
-cache limit reached” messages, the first step is to investigate the root cause
-of these messages and check whether prepared statements are used correctly -
-i.e. use bind markers for variable parts.</p>
-<p>Do only change the default value, if you really have more prepared statements than
-fit in the cache. In most cases it is not neccessary to change this value.
-Constantly re-preparing statements is a performance penalty.</p>
-<p>Default value (“auto”) is 1/256th of the heap or 10MB, whichever is greater</p>
-</div>
-<div class="section" id="key-cache-size-in-mb">
-<h2><code class="docutils literal notranslate"><span class="pre">key_cache_size_in_mb</span></code><a class="headerlink" href="#key-cache-size-in-mb" title="Permalink to this headline">¶</a></h2>
-<p>Maximum size of the key cache in memory.</p>
-<p>Each key cache hit saves 1 seek and each row cache hit saves 2 seeks at the
-minimum, sometimes more. The key cache is fairly tiny for the amount of
-time it saves, so it’s worthwhile to use it at large numbers.
-The row cache saves even more time, but must contain the entire row,
-so it is extremely space-intensive. It’s best to only use the
-row cache if you have hot rows or static rows.</p>
-<p>NOTE: if you reduce the size, you may not get you hottest keys loaded on startup.</p>
-<p>Default value is empty to make it “auto” (min(5% of Heap (in MB), 100MB)). Set to 0 to disable key cache.</p>
-</div>
-<div class="section" id="key-cache-save-period">
-<h2><code class="docutils literal notranslate"><span class="pre">key_cache_save_period</span></code><a class="headerlink" href="#key-cache-save-period" title="Permalink to this headline">¶</a></h2>
-<p>Duration in seconds after which Cassandra should
-save the key cache. Caches are saved to saved_caches_directory as
-specified in this configuration file.</p>
-<p>Saved caches greatly improve cold-start speeds, and is relatively cheap in
-terms of I/O for the key cache. Row cache saving is much more expensive and
-has limited use.</p>
-<p>Default is 14400 or 4 hours.</p>
-<p><em>Default Value:</em> 14400</p>
-</div>
-<div class="section" id="key-cache-keys-to-save">
-<h2><code class="docutils literal notranslate"><span class="pre">key_cache_keys_to_save</span></code><a class="headerlink" href="#key-cache-keys-to-save" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Number of keys from the key cache to save
-Disabled by default, meaning all keys are going to be saved</p>
-<p><em>Default Value:</em> 100</p>
-</div>
-<div class="section" id="row-cache-class-name">
-<h2><code class="docutils literal notranslate"><span class="pre">row_cache_class_name</span></code><a class="headerlink" href="#row-cache-class-name" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Row cache implementation class name. Available implementations:</p>
-<dl class="docutils">
-<dt>org.apache.cassandra.cache.OHCProvider</dt>
-<dd>Fully off-heap row cache implementation (default).</dd>
-<dt>org.apache.cassandra.cache.SerializingCacheProvider</dt>
-<dd>This is the row cache implementation availabile
-in previous releases of Cassandra.</dd>
-</dl>
-<p><em>Default Value:</em> org.apache.cassandra.cache.OHCProvider</p>
-</div>
-<div class="section" id="row-cache-size-in-mb">
-<h2><code class="docutils literal notranslate"><span class="pre">row_cache_size_in_mb</span></code><a class="headerlink" href="#row-cache-size-in-mb" title="Permalink to this headline">¶</a></h2>
-<p>Maximum size of the row cache in memory.
-Please note that OHC cache implementation requires some additional off-heap memory to manage
-the map structures and some in-flight memory during operations before/after cache entries can be
-accounted against the cache capacity. This overhead is usually small compared to the whole capacity.
-Do not specify more memory that the system can afford in the worst usual situation and leave some
-headroom for OS block level cache. Do never allow your system to swap.</p>
-<p>Default value is 0, to disable row caching.</p>
-<p><em>Default Value:</em> 0</p>
-</div>
-<div class="section" id="row-cache-save-period">
-<h2><code class="docutils literal notranslate"><span class="pre">row_cache_save_period</span></code><a class="headerlink" href="#row-cache-save-period" title="Permalink to this headline">¶</a></h2>
-<p>Duration in seconds after which Cassandra should save the row cache.
-Caches are saved to saved_caches_directory as specified in this configuration file.</p>
-<p>Saved caches greatly improve cold-start speeds, and is relatively cheap in
-terms of I/O for the key cache. Row cache saving is much more expensive and
-has limited use.</p>
-<p>Default is 0 to disable saving the row cache.</p>
-<p><em>Default Value:</em> 0</p>
-</div>
-<div class="section" id="row-cache-keys-to-save">
-<h2><code class="docutils literal notranslate"><span class="pre">row_cache_keys_to_save</span></code><a class="headerlink" href="#row-cache-keys-to-save" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Number of keys from the row cache to save.
-Specify 0 (which is the default), meaning all keys are going to be saved</p>
-<p><em>Default Value:</em> 100</p>
-</div>
-<div class="section" id="counter-cache-size-in-mb">
-<h2><code class="docutils literal notranslate"><span class="pre">counter_cache_size_in_mb</span></code><a class="headerlink" href="#counter-cache-size-in-mb" title="Permalink to this headline">¶</a></h2>
-<p>Maximum size of the counter cache in memory.</p>
-<p>Counter cache helps to reduce counter locks’ contention for hot counter cells.
-In case of RF = 1 a counter cache hit will cause Cassandra to skip the read before
-write entirely. With RF &gt; 1 a counter cache hit will still help to reduce the duration
-of the lock hold, helping with hot counter cell updates, but will not allow skipping
-the read entirely. Only the local (clock, count) tuple of a counter cell is kept
-in memory, not the whole counter, so it’s relatively cheap.</p>
-<p>NOTE: if you reduce the size, you may not get you hottest keys loaded on startup.</p>
-<p>Default value is empty to make it “auto” (min(2.5% of Heap (in MB), 50MB)). Set to 0 to disable counter cache.
-NOTE: if you perform counter deletes and rely on low gcgs, you should disable the counter cache.</p>
-</div>
-<div class="section" id="counter-cache-save-period">
-<h2><code class="docutils literal notranslate"><span class="pre">counter_cache_save_period</span></code><a class="headerlink" href="#counter-cache-save-period" title="Permalink to this headline">¶</a></h2>
-<p>Duration in seconds after which Cassandra should
-save the counter cache (keys only). Caches are saved to saved_caches_directory as
-specified in this configuration file.</p>
-<p>Default is 7200 or 2 hours.</p>
-<p><em>Default Value:</em> 7200</p>
-</div>
-<div class="section" id="counter-cache-keys-to-save">
-<h2><code class="docutils literal notranslate"><span class="pre">counter_cache_keys_to_save</span></code><a class="headerlink" href="#counter-cache-keys-to-save" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Number of keys from the counter cache to save
-Disabled by default, meaning all keys are going to be saved</p>
-<p><em>Default Value:</em> 100</p>
-</div>
-<div class="section" id="saved-caches-directory">
-<h2><code class="docutils literal notranslate"><span class="pre">saved_caches_directory</span></code><a class="headerlink" href="#saved-caches-directory" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>saved caches
-If not set, the default directory is $CASSANDRA_HOME/data/saved_caches.</p>
-<p><em>Default Value:</em>  /var/lib/cassandra/saved_caches</p>
-</div>
-<div class="section" id="commitlog-sync-batch-window-in-ms">
-<h2><code class="docutils literal notranslate"><span class="pre">commitlog_sync_batch_window_in_ms</span></code><a class="headerlink" href="#commitlog-sync-batch-window-in-ms" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>commitlog_sync may be either “periodic”, “group”, or “batch.”</p>
-<p>When in batch mode, Cassandra won’t ack writes until the commit log
-has been flushed to disk.  Each incoming write will trigger the flush task.
-commitlog_sync_batch_window_in_ms is a deprecated value. Previously it had
-almost no value, and is being removed.</p>
-<p><em>Default Value:</em> 2</p>
-</div>
-<div class="section" id="commitlog-sync-group-window-in-ms">
-<h2><code class="docutils literal notranslate"><span class="pre">commitlog_sync_group_window_in_ms</span></code><a class="headerlink" href="#commitlog-sync-group-window-in-ms" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>group mode is similar to batch mode, where Cassandra will not ack writes
-until the commit log has been flushed to disk. The difference is group
-mode will wait up to commitlog_sync_group_window_in_ms between flushes.</p>
-<p><em>Default Value:</em> 1000</p>
-</div>
-<div class="section" id="commitlog-sync">
-<h2><code class="docutils literal notranslate"><span class="pre">commitlog_sync</span></code><a class="headerlink" href="#commitlog-sync" title="Permalink to this headline">¶</a></h2>
-<p>the default option is “periodic” where writes may be acked immediately
-and the CommitLog is simply synced every commitlog_sync_period_in_ms
-milliseconds.</p>
-<p><em>Default Value:</em> periodic</p>
-</div>
-<div class="section" id="commitlog-sync-period-in-ms">
-<h2><code class="docutils literal notranslate"><span class="pre">commitlog_sync_period_in_ms</span></code><a class="headerlink" href="#commitlog-sync-period-in-ms" title="Permalink to this headline">¶</a></h2>
-<p><em>Default Value:</em> 10000</p>
-</div>
-<div class="section" id="periodic-commitlog-sync-lag-block-in-ms">
-<h2><code class="docutils literal notranslate"><span class="pre">periodic_commitlog_sync_lag_block_in_ms</span></code><a class="headerlink" href="#periodic-commitlog-sync-lag-block-in-ms" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>When in periodic commitlog mode, the number of milliseconds to block writes
-while waiting for a slow disk flush to complete.</p>
-</div>
-<div class="section" id="commitlog-segment-size-in-mb">
-<h2><code class="docutils literal notranslate"><span class="pre">commitlog_segment_size_in_mb</span></code><a class="headerlink" href="#commitlog-segment-size-in-mb" title="Permalink to this headline">¶</a></h2>
-<p>The size of the individual commitlog file segments.  A commitlog
-segment may be archived, deleted, or recycled once all the data
-in it (potentially from each columnfamily in the system) has been
-flushed to sstables.</p>
-<p>The default size is 32, which is almost always fine, but if you are
-archiving commitlog segments (see commitlog_archiving.properties),
-then you probably want a finer granularity of archiving; 8 or 16 MB
-is reasonable.
-Max mutation size is also configurable via max_mutation_size_in_kb setting in
-cassandra.yaml. The default is half the size commitlog_segment_size_in_mb * 1024.
-This should be positive and less than 2048.</p>
-<p>NOTE: If max_mutation_size_in_kb is set explicitly then commitlog_segment_size_in_mb must
-be set to at least twice the size of max_mutation_size_in_kb / 1024</p>
-<p><em>Default Value:</em> 32</p>
-</div>
-<div class="section" id="commitlog-compression">
-<h2><code class="docutils literal notranslate"><span class="pre">commitlog_compression</span></code><a class="headerlink" href="#commitlog-compression" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Compression to apply to the commit log. If omitted, the commit log
-will be written uncompressed.  LZ4, Snappy, and Deflate compressors
-are supported.</p>
-<p><em>Default Value (complex option)</em>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#   - class_name: LZ4Compressor</span>
-<span class="c1">#     parameters:</span>
-<span class="c1">#         -</span>
-</pre></div>
-</div>
-</div>
-<div class="section" id="seed-provider">
-<h2><code class="docutils literal notranslate"><span class="pre">seed_provider</span></code><a class="headerlink" href="#seed-provider" title="Permalink to this headline">¶</a></h2>
-<p>any class that implements the SeedProvider interface and has a
-constructor that takes a Map&lt;String, String&gt; of parameters will do.</p>
-<p><em>Default Value (complex option)</em>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Addresses of hosts that are deemed contact points.</span>
-<span class="c1"># Cassandra nodes use this list of hosts to find each other and learn</span>
-<span class="c1"># the topology of the ring.  You must change this if you are running</span>
-<span class="c1"># multiple nodes!</span>
-<span class="o">-</span> <span class="n">class_name</span><span class="p">:</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">cassandra</span><span class="o">.</span><span class="n">locator</span><span class="o">.</span><span class="n">SimpleSeedProvider</span>
-  <span class="n">parameters</span><span class="p">:</span>
-      <span class="c1"># seeds is actually a comma-delimited list of addresses.</span>
-      <span class="c1"># Ex: &quot;&lt;ip1&gt;,&lt;ip2&gt;,&lt;ip3&gt;&quot;</span>
-      <span class="o">-</span> <span class="n">seeds</span><span class="p">:</span> <span class="s2">&quot;127.0.0.1:7000&quot;</span>
-</pre></div>
-</div>
-</div>
-<div class="section" id="concurrent-reads">
-<h2><code class="docutils literal notranslate"><span class="pre">concurrent_reads</span></code><a class="headerlink" href="#concurrent-reads" title="Permalink to this headline">¶</a></h2>
-<p>For workloads with more data than can fit in memory, Cassandra’s
-bottleneck will be reads that need to fetch data from
-disk. “concurrent_reads” should be set to (16 * number_of_drives) in
-order to allow the operations to enqueue low enough in the stack
-that the OS and drives can reorder them. Same applies to
-“concurrent_counter_writes”, since counter writes read the current
-values before incrementing and writing them back.</p>
-<p>On the other hand, since writes are almost never IO bound, the ideal
-number of “concurrent_writes” is dependent on the number of cores in
-your system; (8 * number_of_cores) is a good rule of thumb.</p>
-<p><em>Default Value:</em> 32</p>
-</div>
-<div class="section" id="concurrent-writes">
-<h2><code class="docutils literal notranslate"><span class="pre">concurrent_writes</span></code><a class="headerlink" href="#concurrent-writes" title="Permalink to this headline">¶</a></h2>
-<p><em>Default Value:</em> 32</p>
-</div>
-<div class="section" id="concurrent-counter-writes">
-<h2><code class="docutils literal notranslate"><span class="pre">concurrent_counter_writes</span></code><a class="headerlink" href="#concurrent-counter-writes" title="Permalink to this headline">¶</a></h2>
-<p><em>Default Value:</em> 32</p>
-</div>
-<div class="section" id="concurrent-materialized-view-writes">
-<h2><code class="docutils literal notranslate"><span class="pre">concurrent_materialized_view_writes</span></code><a class="headerlink" href="#concurrent-materialized-view-writes" title="Permalink to this headline">¶</a></h2>
-<p>For materialized view writes, as there is a read involved, so this should
-be limited by the less of concurrent reads or concurrent writes.</p>
-<p><em>Default Value:</em> 32</p>
-</div>
-<div class="section" id="file-cache-size-in-mb">
-<h2><code class="docutils literal notranslate"><span class="pre">file_cache_size_in_mb</span></code><a class="headerlink" href="#file-cache-size-in-mb" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Maximum memory to use for sstable chunk cache and buffer pooling.
-32MB of this are reserved for pooling buffers, the rest is used as an
-cache that holds uncompressed sstable chunks.
-Defaults to the smaller of 1/4 of heap or 512MB. This pool is allocated off-heap,
-so is in addition to the memory allocated for heap. The cache also has on-heap
-overhead which is roughly 128 bytes per chunk (i.e. 0.2% of the reserved size
-if the default 64k chunk size is used).
-Memory is only allocated when needed.</p>
-<p><em>Default Value:</em> 512</p>
-</div>
-<div class="section" id="buffer-pool-use-heap-if-exhausted">
-<h2><code class="docutils literal notranslate"><span class="pre">buffer_pool_use_heap_if_exhausted</span></code><a class="headerlink" href="#buffer-pool-use-heap-if-exhausted" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Flag indicating whether to allocate on or off heap when the sstable buffer
-pool is exhausted, that is when it has exceeded the maximum memory
-file_cache_size_in_mb, beyond which it will not cache buffers but allocate on request.</p>
-<p><em>Default Value:</em> true</p>
-</div>
-<div class="section" id="disk-optimization-strategy">
-<h2><code class="docutils literal notranslate"><span class="pre">disk_optimization_strategy</span></code><a class="headerlink" href="#disk-optimization-strategy" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>The strategy for optimizing disk read
-Possible values are:
-ssd (for solid state disks, the default)
-spinning (for spinning disks)</p>
-<p><em>Default Value:</em> ssd</p>
-</div>
-<div class="section" id="memtable-heap-space-in-mb">
-<h2><code class="docutils literal notranslate"><span class="pre">memtable_heap_space_in_mb</span></code><a class="headerlink" href="#memtable-heap-space-in-mb" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Total permitted memory to use for memtables. Cassandra will stop
-accepting writes when the limit is exceeded until a flush completes,
-and will trigger a flush based on memtable_cleanup_threshold
-If omitted, Cassandra will set both to 1/4 the size of the heap.</p>
-<p><em>Default Value:</em> 2048</p>
-</div>
-<div class="section" id="memtable-offheap-space-in-mb">
-<h2><code class="docutils literal notranslate"><span class="pre">memtable_offheap_space_in_mb</span></code><a class="headerlink" href="#memtable-offheap-space-in-mb" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p><em>Default Value:</em> 2048</p>
-</div>
-<div class="section" id="memtable-cleanup-threshold">
-<h2><code class="docutils literal notranslate"><span class="pre">memtable_cleanup_threshold</span></code><a class="headerlink" href="#memtable-cleanup-threshold" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>memtable_cleanup_threshold is deprecated. The default calculation
-is the only reasonable choice. See the comments on  memtable_flush_writers
-for more information.</p>
-<p>Ratio of occupied non-flushing memtable size to total permitted size
-that will trigger a flush of the largest memtable. Larger mct will
-mean larger flushes and hence less compaction, but also less concurrent
-flush activity which can make it difficult to keep your disks fed
-under heavy write load.</p>
-<p>memtable_cleanup_threshold defaults to 1 / (memtable_flush_writers + 1)</p>
-<p><em>Default Value:</em> 0.11</p>
-</div>
-<div class="section" id="memtable-allocation-type">
-<h2><code class="docutils literal notranslate"><span class="pre">memtable_allocation_type</span></code><a class="headerlink" href="#memtable-allocation-type" title="Permalink to this headline">¶</a></h2>
-<p>Specify the way Cassandra allocates and manages memtable memory.
-Options are:</p>
-<dl class="docutils">
-<dt>heap_buffers</dt>
-<dd>on heap nio buffers</dd>
-<dt>offheap_buffers</dt>
-<dd>off heap (direct) nio buffers</dd>
-<dt>offheap_objects</dt>
-<dd>off heap objects</dd>
-</dl>
-<p><em>Default Value:</em> heap_buffers</p>
-</div>
-<div class="section" id="repair-session-space-in-mb">
-<h2><code class="docutils literal notranslate"><span class="pre">repair_session_space_in_mb</span></code><a class="headerlink" href="#repair-session-space-in-mb" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Limit memory usage for Merkle tree calculations during repairs. The default
-is 1/16th of the available heap. The main tradeoff is that smaller trees
-have less resolution, which can lead to over-streaming data. If you see heap
-pressure during repairs, consider lowering this, but you cannot go below
-one megabyte. If you see lots of over-streaming, consider raising
-this or using subrange repair.</p>
-<p>For more details see <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-14096">https://issues.apache.org/jira/browse/CASSANDRA-14096</a>.</p>
-</div>
-<div class="section" id="commitlog-total-space-in-mb">
-<h2><code class="docutils literal notranslate"><span class="pre">commitlog_total_space_in_mb</span></code><a class="headerlink" href="#commitlog-total-space-in-mb" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Total space to use for commit logs on disk.</p>
-<p>If space gets above this value, Cassandra will flush every dirty CF
-in the oldest segment and remove it.  So a small total commitlog space
-will tend to cause more flush activity on less-active columnfamilies.</p>
-<p>The default value is the smaller of 8192, and 1/4 of the total space
-of the commitlog volume.</p>
-<p><em>Default Value:</em> 8192</p>
-</div>
-<div class="section" id="memtable-flush-writers">
-<h2><code class="docutils literal notranslate"><span class="pre">memtable_flush_writers</span></code><a class="headerlink" href="#memtable-flush-writers" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>This sets the number of memtable flush writer threads per disk
-as well as the total number of memtables that can be flushed concurrently.
-These are generally a combination of compute and IO bound.</p>
-<p>Memtable flushing is more CPU efficient than memtable ingest and a single thread
-can keep up with the ingest rate of a whole server on a single fast disk
-until it temporarily becomes IO bound under contention typically with compaction.
-At that point you need multiple flush threads. At some point in the future
-it may become CPU bound all the time.</p>
-<p>You can tell if flushing is falling behind using the MemtablePool.BlockedOnAllocation
-metric which should be 0, but will be non-zero if threads are blocked waiting on flushing
-to free memory.</p>
-<p>memtable_flush_writers defaults to two for a single data directory.
-This means that two  memtables can be flushed concurrently to the single data directory.
-If you have multiple data directories the default is one memtable flushing at a time
-but the flush will use a thread per data directory so you will get two or more writers.</p>
-<p>Two is generally enough to flush on a fast disk [array] mounted as a single data directory.
-Adding more flush writers will result in smaller more frequent flushes that introduce more
-compaction overhead.</p>
-<p>There is a direct tradeoff between number of memtables that can be flushed concurrently
-and flush size and frequency. More is not better you just need enough flush writers
-to never stall waiting for flushing to free memory.</p>
-<p><em>Default Value:</em> 2</p>
-</div>
-<div class="section" id="cdc-total-space-in-mb">
-<h2><code class="docutils literal notranslate"><span class="pre">cdc_total_space_in_mb</span></code><a class="headerlink" href="#cdc-total-space-in-mb" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Total space to use for change-data-capture logs on disk.</p>
-<p>If space gets above this value, Cassandra will throw WriteTimeoutException
-on Mutations including tables with CDC enabled. A CDCCompactor is responsible
-for parsing the raw CDC logs and deleting them when parsing is completed.</p>
-<p>The default value is the min of 4096 mb and 1/8th of the total space
-of the drive where cdc_raw_directory resides.</p>
-<p><em>Default Value:</em> 4096</p>
-</div>
-<div class="section" id="cdc-free-space-check-interval-ms">
-<h2><code class="docutils literal notranslate"><span class="pre">cdc_free_space_check_interval_ms</span></code><a class="headerlink" href="#cdc-free-space-check-interval-ms" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>When we hit our cdc_raw limit and the CDCCompactor is either running behind
-or experiencing backpressure, we check at the following interval to see if any
-new space for cdc-tracked tables has been made available. Default to 250ms</p>
-<p><em>Default Value:</em> 250</p>
-</div>
-<div class="section" id="index-summary-capacity-in-mb">
-<h2><code class="docutils literal notranslate"><span class="pre">index_summary_capacity_in_mb</span></code><a class="headerlink" href="#index-summary-capacity-in-mb" title="Permalink to this headline">¶</a></h2>
-<p>A fixed memory pool size in MB for for SSTable index summaries. If left
-empty, this will default to 5% of the heap size. If the memory usage of
-all index summaries exceeds this limit, SSTables with low read rates will
-shrink their index summaries in order to meet this limit.  However, this
-is a best-effort process. In extreme conditions Cassandra may need to use
-more than this amount of memory.</p>
-</div>
-<div class="section" id="index-summary-resize-interval-in-minutes">
-<h2><code class="docutils literal notranslate"><span class="pre">index_summary_resize_interval_in_minutes</span></code><a class="headerlink" href="#index-summary-resize-interval-in-minutes" title="Permalink to this headline">¶</a></h2>
-<p>How frequently index summaries should be resampled.  This is done
-periodically to redistribute memory from the fixed-size pool to sstables
-proportional their recent read rates.  Setting to -1 will disable this
-process, leaving existing index summaries at their current sampling level.</p>
-<p><em>Default Value:</em> 60</p>
-</div>
-<div class="section" id="trickle-fsync">
-<h2><code class="docutils literal notranslate"><span class="pre">trickle_fsync</span></code><a class="headerlink" href="#trickle-fsync" title="Permalink to this headline">¶</a></h2>
-<p>Whether to, when doing sequential writing, fsync() at intervals in
-order to force the operating system to flush the dirty
-buffers. Enable this to avoid sudden dirty buffer flushing from
-impacting read latencies. Almost always a good idea on SSDs; not
-necessarily on platters.</p>
-<p><em>Default Value:</em> false</p>
-</div>
-<div class="section" id="trickle-fsync-interval-in-kb">
-<h2><code class="docutils literal notranslate"><span class="pre">trickle_fsync_interval_in_kb</span></code><a class="headerlink" href="#trickle-fsync-interval-in-kb" title="Permalink to this headline">¶</a></h2>
-<p><em>Default Value:</em> 10240</p>
-</div>
-<div class="section" id="storage-port">
-<h2><code class="docutils literal notranslate"><span class="pre">storage_port</span></code><a class="headerlink" href="#storage-port" title="Permalink to this headline">¶</a></h2>
-<p>TCP port, for commands and data
-For security reasons, you should not expose this port to the internet.  Firewall it if needed.</p>
-<p><em>Default Value:</em> 7000</p>
-</div>
-<div class="section" id="ssl-storage-port">
-<h2><code class="docutils literal notranslate"><span class="pre">ssl_storage_port</span></code><a class="headerlink" href="#ssl-storage-port" title="Permalink to this headline">¶</a></h2>
-<p>SSL port, for legacy encrypted communication. This property is unused unless enabled in
-server_encryption_options (see below). As of cassandra 4.0, this property is deprecated
-as a single port can be used for either/both secure and insecure connections.
-For security reasons, you should not expose this port to the internet. Firewall it if needed.</p>
-<p><em>Default Value:</em> 7001</p>
-</div>
-<div class="section" id="listen-address">
-<h2><code class="docutils literal notranslate"><span class="pre">listen_address</span></code><a class="headerlink" href="#listen-address" title="Permalink to this headline">¶</a></h2>
-<p>Address or interface to bind to and tell other Cassandra nodes to connect to.
-You _must_ change this if you want multiple nodes to be able to communicate!</p>
-<p>Set listen_address OR listen_interface, not both.</p>
-<p>Leaving it blank leaves it up to InetAddress.getLocalHost(). This
-will always do the Right Thing _if_ the node is properly configured
-(hostname, name resolution, etc), and the Right Thing is to use the
-address associated with the hostname (it might not be).</p>
-<p>Setting listen_address to 0.0.0.0 is always wrong.</p>
-<p><em>Default Value:</em> localhost</p>
-</div>
-<div class="section" id="listen-interface">
-<h2><code class="docutils literal notranslate"><span class="pre">listen_interface</span></code><a class="headerlink" href="#listen-interface" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Set listen_address OR listen_interface, not both. Interfaces must correspond
-to a single address, IP aliasing is not supported.</p>
-<p><em>Default Value:</em> eth0</p>
-</div>
-<div class="section" id="listen-interface-prefer-ipv6">
-<h2><code class="docutils literal notranslate"><span class="pre">listen_interface_prefer_ipv6</span></code><a class="headerlink" href="#listen-interface-prefer-ipv6" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>If you choose to specify the interface by name and the interface has an ipv4 and an ipv6 address
-you can specify which should be chosen using listen_interface_prefer_ipv6. If false the first ipv4
-address will be used. If true the first ipv6 address will be used. Defaults to false preferring
-ipv4. If there is only one address it will be selected regardless of ipv4/ipv6.</p>
-<p><em>Default Value:</em> false</p>
-</div>
-<div class="section" id="broadcast-address">
-<h2><code class="docutils literal notranslate"><span class="pre">broadcast_address</span></code><a class="headerlink" href="#broadcast-address" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Address to broadcast to other Cassandra nodes
-Leaving this blank will set it to the same value as listen_address</p>
-<p><em>Default Value:</em> 1.2.3.4</p>
-</div>
-<div class="section" id="listen-on-broadcast-address">
-<h2><code class="docutils literal notranslate"><span class="pre">listen_on_broadcast_address</span></code><a class="headerlink" href="#listen-on-broadcast-address" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>When using multiple physical network interfaces, set this
-to true to listen on broadcast_address in addition to
-the listen_address, allowing nodes to communicate in both
-interfaces.
-Ignore this property if the network configuration automatically
-routes  between the public and private networks such as EC2.</p>
-<p><em>Default Value:</em> false</p>
-</div>
-<div class="section" id="internode-authenticator">
-<h2><code class="docutils literal notranslate"><span class="pre">internode_authenticator</span></code><a class="headerlink" href="#internode-authenticator" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Internode authentication backend, implementing IInternodeAuthenticator;
-used to allow/disallow connections from peer nodes.</p>
-<p><em>Default Value:</em> org.apache.cassandra.auth.AllowAllInternodeAuthenticator</p>
-</div>
-<div class="section" id="start-native-transport">
-<h2><code class="docutils literal notranslate"><span class="pre">start_native_transport</span></code><a class="headerlink" href="#start-native-transport" title="Permalink to this headline">¶</a></h2>
-<p>Whether to start the native transport server.
-The address on which the native transport is bound is defined by rpc_address.</p>
-<p><em>Default Value:</em> true</p>
-</div>
-<div class="section" id="native-transport-port">
-<h2><code class="docutils literal notranslate"><span class="pre">native_transport_port</span></code><a class="headerlink" href="#native-transport-port" title="Permalink to this headline">¶</a></h2>
-<p>port for the CQL native transport to listen for clients on
-For security reasons, you should not expose this port to the internet.  Firewall it if needed.</p>
-<p><em>Default Value:</em> 9042</p>
-</div>
-<div class="section" id="native-transport-port-ssl">
-<h2><code class="docutils literal notranslate"><span class="pre">native_transport_port_ssl</span></code><a class="headerlink" href="#native-transport-port-ssl" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em>
-Enabling native transport encryption in client_encryption_options allows you to either use
-encryption for the standard port or to use a dedicated, additional port along with the unencrypted
-standard native_transport_port.
-Enabling client encryption and keeping native_transport_port_ssl disabled will use encryption
-for native_transport_port. Setting native_transport_port_ssl to a different value
-from native_transport_port will use encryption for native_transport_port_ssl while
-keeping native_transport_port unencrypted.</p>
-<p><em>Default Value:</em> 9142</p>
-</div>
-<div class="section" id="native-transport-max-threads">
-<h2><code class="docutils literal notranslate"><span class="pre">native_transport_max_threads</span></code><a class="headerlink" href="#native-transport-max-threads" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em>
-The maximum threads for handling requests (note that idle threads are stopped
-after 30 seconds so there is not corresponding minimum setting).</p>
-<p><em>Default Value:</em> 128</p>
-</div>
-<div class="section" id="native-transport-max-frame-size-in-mb">
-<h2><code class="docutils literal notranslate"><span class="pre">native_transport_max_frame_size_in_mb</span></code><a class="headerlink" href="#native-transport-max-frame-size-in-mb" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>The maximum size of allowed frame. Frame (requests) larger than this will
-be rejected as invalid. The default is 256MB. If you’re changing this parameter,
-you may want to adjust max_value_size_in_mb accordingly. This should be positive and less than 2048.</p>
-<p><em>Default Value:</em> 256</p>
-</div>
-<div class="section" id="native-transport-frame-block-size-in-kb">
-<h2><code class="docutils literal notranslate"><span class="pre">native_transport_frame_block_size_in_kb</span></code><a class="headerlink" href="#native-transport-frame-block-size-in-kb" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>If checksumming is enabled as a protocol option, denotes the size of the chunks into which frame
-are bodies will be broken and checksummed.</p>
-<p><em>Default Value:</em> 32</p>
-</div>
-<div class="section" id="native-transport-max-concurrent-connections">
-<h2><code class="docutils literal notranslate"><span class="pre">native_transport_max_concurrent_connections</span></code><a class="headerlink" href="#native-transport-max-concurrent-connections" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>The maximum number of concurrent client connections.
-The default is -1, which means unlimited.</p>
-<p><em>Default Value:</em> -1</p>
-</div>
-<div class="section" id="native-transport-max-concurrent-connections-per-ip">
-<h2><code class="docutils literal notranslate"><span class="pre">native_transport_max_concurrent_connections_per_ip</span></code><a class="headerlink" href="#native-transport-max-concurrent-connections-per-ip" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>The maximum number of concurrent client connections per source ip.
-The default is -1, which means unlimited.</p>
-<p><em>Default Value:</em> -1</p>
-</div>
-<div class="section" id="native-transport-allow-older-protocols">
-<h2><code class="docutils literal notranslate"><span class="pre">native_transport_allow_older_protocols</span></code><a class="headerlink" href="#native-transport-allow-older-protocols" title="Permalink to this headline">¶</a></h2>
-<p>Controls whether Cassandra honors older, yet currently supported, protocol versions.
-The default is true, which means all supported protocols will be honored.</p>
-<p><em>Default Value:</em> true</p>
-</div>
-<div class="section" id="rpc-address">
-<h2><code class="docutils literal notranslate"><span class="pre">rpc_address</span></code><a class="headerlink" href="#rpc-address" title="Permalink to this headline">¶</a></h2>
-<p>The address or interface to bind the native transport server to.</p>
-<p>Set rpc_address OR rpc_interface, not both.</p>
-<p>Leaving rpc_address blank has the same effect as on listen_address
-(i.e. it will be based on the configured hostname of the node).</p>
-<p>Note that unlike listen_address, you can specify 0.0.0.0, but you must also
-set broadcast_rpc_address to a value other than 0.0.0.0.</p>
-<p>For security reasons, you should not expose this port to the internet.  Firewall it if needed.</p>
-<p><em>Default Value:</em> localhost</p>
-</div>
-<div class="section" id="rpc-interface">
-<h2><code class="docutils literal notranslate"><span class="pre">rpc_interface</span></code><a class="headerlink" href="#rpc-interface" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Set rpc_address OR rpc_interface, not both. Interfaces must correspond
-to a single address, IP aliasing is not supported.</p>
-<p><em>Default Value:</em> eth1</p>
-</div>
-<div class="section" id="rpc-interface-prefer-ipv6">
-<h2><code class="docutils literal notranslate"><span class="pre">rpc_interface_prefer_ipv6</span></code><a class="headerlink" href="#rpc-interface-prefer-ipv6" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>If you choose to specify the interface by name and the interface has an ipv4 and an ipv6 address
-you can specify which should be chosen using rpc_interface_prefer_ipv6. If false the first ipv4
-address will be used. If true the first ipv6 address will be used. Defaults to false preferring
-ipv4. If there is only one address it will be selected regardless of ipv4/ipv6.</p>
-<p><em>Default Value:</em> false</p>
-</div>
-<div class="section" id="broadcast-rpc-address">
-<h2><code class="docutils literal notranslate"><span class="pre">broadcast_rpc_address</span></code><a class="headerlink" href="#broadcast-rpc-address" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>RPC address to broadcast to drivers and other Cassandra nodes. This cannot
-be set to 0.0.0.0. If left blank, this will be set to the value of
-rpc_address. If rpc_address is set to 0.0.0.0, broadcast_rpc_address must
-be set.</p>
-<p><em>Default Value:</em> 1.2.3.4</p>
-</div>
-<div class="section" id="rpc-keepalive">
-<h2><code class="docutils literal notranslate"><span class="pre">rpc_keepalive</span></code><a class="headerlink" href="#rpc-keepalive" title="Permalink to this headline">¶</a></h2>
-<p>enable or disable keepalive on rpc/native connections</p>
-<p><em>Default Value:</em> true</p>
-</div>
-<div class="section" id="internode-send-buff-size-in-bytes">
-<h2><code class="docutils literal notranslate"><span class="pre">internode_send_buff_size_in_bytes</span></code><a class="headerlink" href="#internode-send-buff-size-in-bytes" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Uncomment to set socket buffer size for internode communication
-Note that when setting this, the buffer size is limited by net.core.wmem_max
-and when not setting it it is defined by net.ipv4.tcp_wmem
-See also:
-/proc/sys/net/core/wmem_max
-/proc/sys/net/core/rmem_max
-/proc/sys/net/ipv4/tcp_wmem
-/proc/sys/net/ipv4/tcp_wmem
-and ‘man tcp’</p>
-</div>
-<div class="section" id="internode-recv-buff-size-in-bytes">
-<h2><code class="docutils literal notranslate"><span class="pre">internode_recv_buff_size_in_bytes</span></code><a class="headerlink" href="#internode-recv-buff-size-in-bytes" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Uncomment to set socket buffer size for internode communication
-Note that when setting this, the buffer size is limited by net.core.wmem_max
-and when not setting it it is defined by net.ipv4.tcp_wmem</p>
-</div>
-<div class="section" id="incremental-backups">
-<h2><code class="docutils literal notranslate"><span class="pre">incremental_backups</span></code><a class="headerlink" href="#incremental-backups" title="Permalink to this headline">¶</a></h2>
-<p>Set to true to have Cassandra create a hard link to each sstable
-flushed or streamed locally in a backups/ subdirectory of the
-keyspace data.  Removing these links is the operator’s
-responsibility.</p>
-<p><em>Default Value:</em> false</p>
-</div>
-<div class="section" id="snapshot-before-compaction">
-<h2><code class="docutils literal notranslate"><span class="pre">snapshot_before_compaction</span></code><a class="headerlink" href="#snapshot-before-compaction" title="Permalink to this headline">¶</a></h2>
-<p>Whether or not to take a snapshot before each compaction.  Be
-careful using this option, since Cassandra won’t clean up the
-snapshots for you.  Mostly useful if you’re paranoid when there
-is a data format change.</p>
-<p><em>Default Value:</em> false</p>
-</div>
-<div class="section" id="auto-snapshot">
-<h2><code class="docutils literal notranslate"><span class="pre">auto_snapshot</span></code><a class="headerlink" href="#auto-snapshot" title="Permalink to this headline">¶</a></h2>
-<p>Whether or not a snapshot is taken of the data before keyspace truncation
-or dropping of column families. The STRONGLY advised default of true
-should be used to provide data safety. If you set this flag to false, you will
-lose data on truncation or drop.</p>
-<p><em>Default Value:</em> true</p>
-</div>
-<div class="section" id="column-index-size-in-kb">
-<h2><code class="docutils literal notranslate"><span class="pre">column_index_size_in_kb</span></code><a class="headerlink" href="#column-index-size-in-kb" title="Permalink to this headline">¶</a></h2>
-<p>Granularity of the collation index of rows within a partition.
-Increase if your rows are large, or if you have a very large
-number of rows per partition.  The competing goals are these:</p>
-<ul class="simple">
-<li>a smaller granularity means more index entries are generated
-and looking up rows withing the partition by collation column
-is faster</li>
-<li>but, Cassandra will keep the collation index in memory for hot
-rows (as part of the key cache), so a larger granularity means
-you can cache more hot rows</li>
-</ul>
-<p><em>Default Value:</em> 64</p>
-</div>
-<div class="section" id="column-index-cache-size-in-kb">
-<h2><code class="docutils literal notranslate"><span class="pre">column_index_cache_size_in_kb</span></code><a class="headerlink" href="#column-index-cache-size-in-kb" title="Permalink to this headline">¶</a></h2>
-<p>Per sstable indexed key cache entries (the collation index in memory
-mentioned above) exceeding this size will not be held on heap.
-This means that only partition information is held on heap and the
-index entries are read from disk.</p>
-<p>Note that this size refers to the size of the
-serialized index information and not the size of the partition.</p>
-<p><em>Default Value:</em> 2</p>
-</div>
-<div class="section" id="concurrent-compactors">
-<h2><code class="docutils literal notranslate"><span class="pre">concurrent_compactors</span></code><a class="headerlink" href="#concurrent-compactors" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Number of simultaneous compactions to allow, NOT including
-validation “compactions” for anti-entropy repair.  Simultaneous
-compactions can help preserve read performance in a mixed read/write
-workload, by mitigating the tendency of small sstables to accumulate
-during a single long running compactions. The default is usually
-fine and if you experience problems with compaction running too
-slowly or too fast, you should look at
-compaction_throughput_mb_per_sec first.</p>
-<p>concurrent_compactors defaults to the smaller of (number of disks,
-number of cores), with a minimum of 2 and a maximum of 8.</p>
-<p>If your data directories are backed by SSD, you should increase this
-to the number of cores.</p>
-<p><em>Default Value:</em> 1</p>
-</div>
-<div class="section" id="concurrent-validations">
-<h2><code class="docutils literal notranslate"><span class="pre">concurrent_validations</span></code><a class="headerlink" href="#concurrent-validations" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Number of simultaneous repair validations to allow. Default is unbounded
-Values less than one are interpreted as unbounded (the default)</p>
-<p><em>Default Value:</em> 0</p>
-</div>
-<div class="section" id="concurrent-materialized-view-builders">
-<h2><code class="docutils literal notranslate"><span class="pre">concurrent_materialized_view_builders</span></code><a class="headerlink" href="#concurrent-materialized-view-builders" title="Permalink to this headline">¶</a></h2>
-<p>Number of simultaneous materialized view builder tasks to allow.</p>
-<p><em>Default Value:</em> 1</p>
-</div>
-<div class="section" id="compaction-throughput-mb-per-sec">
-<h2><code class="docutils literal notranslate"><span class="pre">compaction_throughput_mb_per_sec</span></code><a class="headerlink" href="#compaction-throughput-mb-per-sec" title="Permalink to this headline">¶</a></h2>
-<p>Throttles compaction to the given total throughput across the entire
-system. The faster you insert data, the faster you need to compact in
-order to keep the sstable count down, but in general, setting this to
-16 to 32 times the rate you are inserting data is more than sufficient.
-Setting this to 0 disables throttling. Note that this account for all types
-of compaction, including validation compaction.</p>
-<p><em>Default Value:</em> 16</p>
-</div>
-<div class="section" id="sstable-preemptive-open-interval-in-mb">
-<h2><code class="docutils literal notranslate"><span class="pre">sstable_preemptive_open_interval_in_mb</span></code><a class="headerlink" href="#sstable-preemptive-open-interval-in-mb" title="Permalink to this headline">¶</a></h2>
-<p>When compacting, the replacement sstable(s) can be opened before they
-are completely written, and used in place of the prior sstables for
-any range that has been written. This helps to smoothly transfer reads
-between the sstables, reducing page cache churn and keeping hot rows hot</p>
-<p><em>Default Value:</em> 50</p>
-</div>
-<div class="section" id="stream-entire-sstables">
-<h2><code class="docutils literal notranslate"><span class="pre">stream_entire_sstables</span></code><a class="headerlink" href="#stream-entire-sstables" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>When enabled, permits Cassandra to zero-copy stream entire eligible
-SSTables between nodes, including every component.
-This speeds up the network transfer significantly subject to
-throttling specified by stream_throughput_outbound_megabits_per_sec.
-Enabling this will reduce the GC pressure on sending and receiving node.
-When unset, the default is enabled. While this feature tries to keep the
-disks balanced, it cannot guarantee it. This feature will be automatically
-disabled if internode encryption is enabled. Currently this can be used with
-Leveled Compaction. Once CASSANDRA-14586 is fixed other compaction strategies
-will benefit as well when used in combination with CASSANDRA-6696.</p>
-<p><em>Default Value:</em> true</p>
-</div>
-<div class="section" id="stream-throughput-outbound-megabits-per-sec">
-<h2><code class="docutils literal notranslate"><span class="pre">stream_throughput_outbound_megabits_per_sec</span></code><a class="headerlink" href="#stream-throughput-outbound-megabits-per-sec" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Throttles all outbound streaming file transfers on this node to the
-given total throughput in Mbps. This is necessary because Cassandra does
-mostly sequential IO when streaming data during bootstrap or repair, which
-can lead to saturating the network connection and degrading rpc performance.
-When unset, the default is 200 Mbps or 25 MB/s.</p>
-<p><em>Default Value:</em> 200</p>
-</div>
-<div class="section" id="inter-dc-stream-throughput-outbound-megabits-per-sec">
-<h2><code class="docutils literal notranslate"><span class="pre">inter_dc_stream_throughput_outbound_megabits_per_sec</span></code><a class="headerlink" href="#inter-dc-stream-throughput-outbound-megabits-per-sec" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Throttles all streaming file transfer between the datacenters,
-this setting allows users to throttle inter dc stream throughput in addition
-to throttling all network stream traffic as configured with
-stream_throughput_outbound_megabits_per_sec
-When unset, the default is 200 Mbps or 25 MB/s</p>
-<p><em>Default Value:</em> 200</p>
-</div>
-<div class="section" id="read-request-timeout-in-ms">
-<h2><code class="docutils literal notranslate"><span class="pre">read_request_timeout_in_ms</span></code><a class="headerlink" href="#read-request-timeout-in-ms" title="Permalink to this headline">¶</a></h2>
-<p>How long the coordinator should wait for read operations to complete.
-Lowest acceptable value is 10 ms.</p>
-<p><em>Default Value:</em> 5000</p>
-</div>
-<div class="section" id="range-request-timeout-in-ms">
-<h2><code class="docutils literal notranslate"><span class="pre">range_request_timeout_in_ms</span></code><a class="headerlink" href="#range-request-timeout-in-ms" title="Permalink to this headline">¶</a></h2>
-<p>How long the coordinator should wait for seq or index scans to complete.
-Lowest acceptable value is 10 ms.</p>
-<p><em>Default Value:</em> 10000</p>
-</div>
-<div class="section" id="write-request-timeout-in-ms">
-<h2><code class="docutils literal notranslate"><span class="pre">write_request_timeout_in_ms</span></code><a class="headerlink" href="#write-request-timeout-in-ms" title="Permalink to this headline">¶</a></h2>
-<p>How long the coordinator should wait for writes to complete.
-Lowest acceptable value is 10 ms.</p>
-<p><em>Default Value:</em> 2000</p>
-</div>
-<div class="section" id="counter-write-request-timeout-in-ms">
-<h2><code class="docutils literal notranslate"><span class="pre">counter_write_request_timeout_in_ms</span></code><a class="headerlink" href="#counter-write-request-timeout-in-ms" title="Permalink to this headline">¶</a></h2>
-<p>How long the coordinator should wait for counter writes to complete.
-Lowest acceptable value is 10 ms.</p>
-<p><em>Default Value:</em> 5000</p>
-</div>
-<div class="section" id="cas-contention-timeout-in-ms">
-<h2><code class="docutils literal notranslate"><span class="pre">cas_contention_timeout_in_ms</span></code><a class="headerlink" href="#cas-contention-timeout-in-ms" title="Permalink to this headline">¶</a></h2>
-<p>How long a coordinator should continue to retry a CAS operation
-that contends with other proposals for the same row.
-Lowest acceptable value is 10 ms.</p>
-<p><em>Default Value:</em> 1000</p>
-</div>
-<div class="section" id="truncate-request-timeout-in-ms">
-<h2><code class="docutils literal notranslate"><span class="pre">truncate_request_timeout_in_ms</span></code><a class="headerlink" href="#truncate-request-timeout-in-ms" title="Permalink to this headline">¶</a></h2>
-<p>How long the coordinator should wait for truncates to complete
-(This can be much longer, because unless auto_snapshot is disabled
-we need to flush first so we can snapshot before removing the data.)
-Lowest acceptable value is 10 ms.</p>
-<p><em>Default Value:</em> 60000</p>
-</div>
-<div class="section" id="request-timeout-in-ms">
-<h2><code class="docutils literal notranslate"><span class="pre">request_timeout_in_ms</span></code><a class="headerlink" href="#request-timeout-in-ms" title="Permalink to this headline">¶</a></h2>
-<p>The default timeout for other, miscellaneous operations.
-Lowest acceptable value is 10 ms.</p>
-<p><em>Default Value:</em> 10000</p>
-</div>
-<div class="section" id="internode-application-send-queue-capacity-in-bytes">
-<h2><code class="docutils literal notranslate"><span class="pre">internode_application_send_queue_capacity_in_bytes</span></code><a class="headerlink" href="#internode-application-send-queue-capacity-in-bytes" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Defensive settings for protecting Cassandra from true network partitions.
-See (CASSANDRA-14358) for details.</p>
-<p>The amount of time to wait for internode tcp connections to establish.
-internode_tcp_connect_timeout_in_ms = 2000</p>
-<p>The amount of time unacknowledged data is allowed on a connection before we throw out the connection
-Note this is only supported on Linux + epoll, and it appears to behave oddly above a setting of 30000
-(it takes much longer than 30s) as of Linux 4.12. If you want something that high set this to 0
-which picks up the OS default and configure the net.ipv4.tcp_retries2 sysctl to be ~8.
-internode_tcp_user_timeout_in_ms = 30000</p>
-<p>The maximum continuous period a connection may be unwritable in application space
-internode_application_timeout_in_ms = 30000</p>
-<p>Global, per-endpoint and per-connection limits imposed on messages queued for delivery to other nodes
-and waiting to be processed on arrival from other nodes in the cluster.  These limits are applied to the on-wire
-size of the message being sent or received.</p>
-<p>The basic per-link limit is consumed in isolation before any endpoint or global limit is imposed.
-Each node-pair has three links: urgent, small and large.  So any given node may have a maximum of
-N*3*(internode_application_send_queue_capacity_in_bytes+internode_application_receive_queue_capacity_in_bytes)
-messages queued without any coordination between them although in practice, with token-aware routing, only RF*tokens
-nodes should need to communicate with significant bandwidth.</p>
-<p>The per-endpoint limit is imposed on all messages exceeding the per-link limit, simultaneously with the global limit,
-on all links to or from a single node in the cluster.
-The global limit is imposed on all messages exceeding the per-link limit, simultaneously with the per-endpoint limit,
-on all links to or from any node in the cluster.</p>
-<p><em>Default Value:</em> 4194304                       #4MiB</p>
-</div>
-<div class="section" id="internode-application-send-queue-reserve-endpoint-capacity-in-bytes">
-<h2><code class="docutils literal notranslate"><span class="pre">internode_application_send_queue_reserve_endpoint_capacity_in_bytes</span></code><a class="headerlink" href="#internode-application-send-queue-reserve-endpoint-capacity-in-bytes" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p><em>Default Value:</em> 134217728    #128MiB</p>
-</div>
-<div class="section" id="internode-application-send-queue-reserve-global-capacity-in-bytes">
-<h2><code class="docutils literal notranslate"><span class="pre">internode_application_send_queue_reserve_global_capacity_in_bytes</span></code><a class="headerlink" href="#internode-application-send-queue-reserve-global-capacity-in-bytes" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p><em>Default Value:</em> 536870912      #512MiB</p>
-</div>
-<div class="section" id="internode-application-receive-queue-capacity-in-bytes">
-<h2><code class="docutils literal notranslate"><span class="pre">internode_application_receive_queue_capacity_in_bytes</span></code><a class="headerlink" href="#internode-application-receive-queue-capacity-in-bytes" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p><em>Default Value:</em> 4194304                    #4MiB</p>
-</div>
-<div class="section" id="internode-application-receive-queue-reserve-endpoint-capacity-in-bytes">
-<h2><code class="docutils literal notranslate"><span class="pre">internode_application_receive_queue_reserve_endpoint_capacity_in_bytes</span></code><a class="headerlink" href="#internode-application-receive-queue-reserve-endpoint-capacity-in-bytes" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p><em>Default Value:</em> 134217728 #128MiB</p>
-</div>
-<div class="section" id="internode-application-receive-queue-reserve-global-capacity-in-bytes">
-<h2><code class="docutils literal notranslate"><span class="pre">internode_application_receive_queue_reserve_global_capacity_in_bytes</span></code><a class="headerlink" href="#internode-application-receive-queue-reserve-global-capacity-in-bytes" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p><em>Default Value:</em> 536870912   #512MiB</p>
-</div>
-<div class="section" id="slow-query-log-timeout-in-ms">
-<h2><code class="docutils literal notranslate"><span class="pre">slow_query_log_timeout_in_ms</span></code><a class="headerlink" href="#slow-query-log-timeout-in-ms" title="Permalink to this headline">¶</a></h2>
-<p>How long before a node logs slow queries. Select queries that take longer than
-this timeout to execute, will generate an aggregated log message, so that slow queries
-can be identified. Set this value to zero to disable slow query logging.</p>
-<p><em>Default Value:</em> 500</p>
-</div>
-<div class="section" id="cross-node-timeout">
-<h2><code class="docutils literal notranslate"><span class="pre">cross_node_timeout</span></code><a class="headerlink" href="#cross-node-timeout" title="Permalink to this headline">¶</a></h2>
-<p>Enable operation timeout information exchange between nodes to accurately
-measure request timeouts.  If disabled, replicas will assume that requests
-were forwarded to them instantly by the coordinator, which means that
-under overload conditions we will waste that much extra time processing
-already-timed-out requests.</p>
-<p>Warning: before enabling this property make sure to ntp is installed
-and the times are synchronized between the nodes.</p>
-<p><em>Default Value:</em> false</p>
-</div>
-<div class="section" id="streaming-keep-alive-period-in-secs">
-<h2><code class="docutils literal notranslate"><span class="pre">streaming_keep_alive_period_in_secs</span></code><a class="headerlink" href="#streaming-keep-alive-period-in-secs" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Set keep-alive period for streaming
-This node will send a keep-alive message periodically with this period.
-If the node does not receive a keep-alive message from the peer for
-2 keep-alive cycles the stream session times out and fail
-Default value is 300s (5 minutes), which means stalled stream
-times out in 10 minutes by default</p>
-<p><em>Default Value:</em> 300</p>
-</div>
-<div class="section" id="streaming-connections-per-host">
-<h2><code class="docutils literal notranslate"><span class="pre">streaming_connections_per_host</span></code><a class="headerlink" href="#streaming-connections-per-host" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Limit number of connections per host for streaming
-Increase this when you notice that joins are CPU-bound rather that network
-bound (for example a few nodes with big files).</p>
-<p><em>Default Value:</em> 1</p>
-</div>
-<div class="section" id="phi-convict-threshold">
-<h2><code class="docutils literal notranslate"><span class="pre">phi_convict_threshold</span></code><a class="headerlink" href="#phi-convict-threshold" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>phi value that must be reached for a host to be marked down.
-most users should never need to adjust this.</p>
-<p><em>Default Value:</em> 8</p>
-</div>
-<div class="section" id="endpoint-snitch">
-<h2><code class="docutils literal notranslate"><span class="pre">endpoint_snitch</span></code><a class="headerlink" href="#endpoint-snitch" title="Permalink to this headline">¶</a></h2>
-<p>endpoint_snitch – Set this to a class that implements
-IEndpointSnitch.  The snitch has two functions:</p>
-<ul class="simple">
-<li>it teaches Cassandra enough about your network topology to route
-requests efficiently</li>
-<li>it allows Cassandra to spread replicas around your cluster to avoid
-correlated failures. It does this by grouping machines into
-“datacenters” and “racks.”  Cassandra will do its best not to have
-more than one replica on the same “rack” (which may not actually
-be a physical location)</li>
-</ul>
-<p>CASSANDRA WILL NOT ALLOW YOU TO SWITCH TO AN INCOMPATIBLE SNITCH
-ONCE DATA IS INSERTED INTO THE CLUSTER.  This would cause data loss.
-This means that if you start with the default SimpleSnitch, which
-locates every node on “rack1” in “datacenter1”, your only options
-if you need to add another datacenter are GossipingPropertyFileSnitch
-(and the older PFS).  From there, if you want to migrate to an
-incompatible snitch like Ec2Snitch you can do it by adding new nodes
-under Ec2Snitch (which will locate them in a new “datacenter”) and
-decommissioning the old ones.</p>
-<p>Out of the box, Cassandra provides:</p>
-<dl class="docutils">
-<dt>SimpleSnitch:</dt>
-<dd>Treats Strategy order as proximity. This can improve cache
-locality when disabling read repair.  Only appropriate for
-single-datacenter deployments.</dd>
-<dt>GossipingPropertyFileSnitch</dt>
-<dd>This should be your go-to snitch for production use.  The rack
-and datacenter for the local node are defined in
-cassandra-rackdc.properties and propagated to other nodes via
-gossip.  If cassandra-topology.properties exists, it is used as a
-fallback, allowing migration from the PropertyFileSnitch.</dd>
-<dt>PropertyFileSnitch:</dt>
-<dd>Proximity is determined by rack and data center, which are
-explicitly configured in cassandra-topology.properties.</dd>
-<dt>Ec2Snitch:</dt>
-<dd>Appropriate for EC2 deployments in a single Region. Loads Region
-and Availability Zone information from the EC2 API. The Region is
-treated as the datacenter, and the Availability Zone as the rack.
-Only private IPs are used, so this will not work across multiple
-Regions.</dd>
-<dt>Ec2MultiRegionSnitch:</dt>
-<dd>Uses public IPs as broadcast_address to allow cross-region
-connectivity.  (Thus, you should set seed addresses to the public
-IP as well.) You will need to open the storage_port or
-ssl_storage_port on the public IP firewall.  (For intra-Region
-traffic, Cassandra will switch to the private IP after
-establishing a connection.)</dd>
-<dt>RackInferringSnitch:</dt>
-<dd>Proximity is determined by rack and data center, which are
-assumed to correspond to the 3rd and 2nd octet of each node’s IP
-address, respectively.  Unless this happens to match your
-deployment conventions, this is best used as an example of
-writing a custom Snitch class and is provided in that spirit.</dd>
-</dl>
-<p>You can use a custom Snitch by setting this to the full class name
-of the snitch, which will be assumed to be on your classpath.</p>
-<p><em>Default Value:</em> SimpleSnitch</p>
-</div>
-<div class="section" id="dynamic-snitch-update-interval-in-ms">
-<h2><code class="docutils literal notranslate"><span class="pre">dynamic_snitch_update_interval_in_ms</span></code><a class="headerlink" href="#dynamic-snitch-update-interval-in-ms" title="Permalink to this headline">¶</a></h2>
-<p>controls how often to perform the more expensive part of host score
-calculation</p>
-<p><em>Default Value:</em> 100</p>
-</div>
-<div class="section" id="dynamic-snitch-reset-interval-in-ms">
-<h2><code class="docutils literal notranslate"><span class="pre">dynamic_snitch_reset_interval_in_ms</span></code><a class="headerlink" href="#dynamic-snitch-reset-interval-in-ms" title="Permalink to this headline">¶</a></h2>
-<p>controls how often to reset all host scores, allowing a bad host to
-possibly recover</p>
-<p><em>Default Value:</em> 600000</p>
-</div>
-<div class="section" id="dynamic-snitch-badness-threshold">
-<h2><code class="docutils literal notranslate"><span class="pre">dynamic_snitch_badness_threshold</span></code><a class="headerlink" href="#dynamic-snitch-badness-threshold" title="Permalink to this headline">¶</a></h2>
-<p>if set greater than zero, this will allow
-‘pinning’ of replicas to hosts in order to increase cache capacity.
-The badness threshold will control how much worse the pinned host has to be
-before the dynamic snitch will prefer other replicas over it.  This is
-expressed as a double which represents a percentage.  Thus, a value of
-0.2 means Cassandra would continue to prefer the static snitch values
-until the pinned host was 20% worse than the fastest.</p>
-<p><em>Default Value:</em> 0.1</p>
-</div>
-<div class="section" id="server-encryption-options">
-<h2><code class="docutils literal notranslate"><span class="pre">server_encryption_options</span></code><a class="headerlink" href="#server-encryption-options" title="Permalink to this headline">¶</a></h2>
-<p>Enable or disable inter-node encryption
-JVM and netty defaults for supported SSL socket protocols and cipher suites can
-be replaced using custom encryption options. This is not recommended
-unless you have policies in place that dictate certain settings, or
-need to disable vulnerable ciphers or protocols in case the JVM cannot
-be updated.
-FIPS compliant settings can be configured at JVM level and should not
-involve changing encryption settings here:
-<a class="reference external" href="https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/FIPS.html">https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/FIPS.html</a></p>
-<p><em>NOTE</em> No custom encryption options are enabled at the moment
-The available internode options are : all, none, dc, rack
-If set to dc cassandra will encrypt the traffic between the DCs
-If set to rack cassandra will encrypt the traffic between the racks</p>
-<p>The passwords used in these options must match the passwords used when generating
-the keystore and truststore.  For instructions on generating these files, see:
-<a class="reference external" href="http://download.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html#CreateKeystore">http://download.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html#CreateKeystore</a></p>
-<p><em>Default Value (complex option)</em>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># set to true for allowing secure incoming connections</span>
-<span class="n">enabled</span><span class="p">:</span> <span class="n">false</span>
-<span class="c1"># If enabled and optional are both set to true, encrypted and unencrypted connections are handled on the storage_port</span>
-<span class="n">optional</span><span class="p">:</span> <span class="n">false</span>
-<span class="c1"># if enabled, will open up an encrypted listening socket on ssl_storage_port. Should be used</span>
-<span class="c1"># during upgrade to 4.0; otherwise, set to false.</span>
-<span class="n">enable_legacy_ssl_storage_port</span><span class="p">:</span> <span class="n">false</span>
-<span class="c1"># on outbound connections, determine which type of peers to securely connect to. &#39;enabled&#39; must be set to true.</span>
-<span class="n">internode_encryption</span><span class="p">:</span> <span class="n">none</span>
-<span class="n">keystore</span><span class="p">:</span> <span class="n">conf</span><span class="o">/.</span><span class="n">keystore</span>
-<span class="n">keystore_password</span><span class="p">:</span> <span class="n">cassandra</span>
-<span class="n">truststore</span><span class="p">:</span> <span class="n">conf</span><span class="o">/.</span><span class="n">truststore</span>
-<span class="n">truststore_password</span><span class="p">:</span> <span class="n">cassandra</span>
-<span class="c1"># More advanced defaults below:</span>
-<span class="c1"># protocol: TLS</span>
-<span class="c1"># store_type: JKS</span>
-<span class="c1"># cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA]</span>
-<span class="c1"># require_client_auth: false</span>
-<span class="c1"># require_endpoint_verification: false</span>
-</pre></div>
-</div>
-</div>
-<div class="section" id="client-encryption-options">
-<h2><code class="docutils literal notranslate"><span class="pre">client_encryption_options</span></code><a class="headerlink" href="#client-encryption-options" title="Permalink to this headline">¶</a></h2>
-<p>enable or disable client-to-server encryption.</p>
-<p><em>Default Value (complex option)</em>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">enabled</span><span class="p">:</span> <span class="n">false</span>
-<span class="c1"># If enabled and optional is set to true encrypted and unencrypted connections are handled.</span>
-<span class="n">optional</span><span class="p">:</span> <span class="n">false</span>
-<span class="n">keystore</span><span class="p">:</span> <span class="n">conf</span><span class="o">/.</span><span class="n">keystore</span>
-<span class="n">keystore_password</span><span class="p">:</span> <span class="n">cassandra</span>
-<span class="c1"># require_client_auth: false</span>
-<span class="c1"># Set trustore and truststore_password if require_client_auth is true</span>
-<span class="c1"># truststore: conf/.truststore</span>
-<span class="c1"># truststore_password: cassandra</span>
-<span class="c1"># More advanced defaults below:</span>
-<span class="c1"># protocol: TLS</span>
-<span class="c1"># store_type: JKS</span>
-<span class="c1"># cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA]</span>
-</pre></div>
-</div>
-</div>
-<div class="section" id="internode-compression">
-<h2><code class="docutils literal notranslate"><span class="pre">internode_compression</span></code><a class="headerlink" href="#internode-compression" title="Permalink to this headline">¶</a></h2>
-<p>internode_compression controls whether traffic between nodes is
-compressed.
-Can be:</p>
-<dl class="docutils">
-<dt>all</dt>
-<dd>all traffic is compressed</dd>
-<dt>dc</dt>
-<dd>traffic between different datacenters is compressed</dd>
-<dt>none</dt>
-<dd>nothing is compressed.</dd>
-</dl>
-<p><em>Default Value:</em> dc</p>
-</div>
-<div class="section" id="inter-dc-tcp-nodelay">
-<h2><code class="docutils literal notranslate"><span class="pre">inter_dc_tcp_nodelay</span></code><a class="headerlink" href="#inter-dc-tcp-nodelay" title="Permalink to this headline">¶</a></h2>
-<p>Enable or disable tcp_nodelay for inter-dc communication.
-Disabling it will result in larger (but fewer) network packets being sent,
-reducing overhead from the TCP protocol itself, at the cost of increasing
-latency if you block for cross-datacenter responses.</p>
-<p><em>Default Value:</em> false</p>
-</div>
-<div class="section" id="tracetype-query-ttl">
-<h2><code class="docutils literal notranslate"><span class="pre">tracetype_query_ttl</span></code><a class="headerlink" href="#tracetype-query-ttl" title="Permalink to this headline">¶</a></h2>
-<p>TTL for different trace types used during logging of the repair process.</p>
-<p><em>Default Value:</em> 86400</p>
-</div>
-<div class="section" id="tracetype-repair-ttl">
-<h2><code class="docutils literal notranslate"><span class="pre">tracetype_repair_ttl</span></code><a class="headerlink" href="#tracetype-repair-ttl" title="Permalink to this headline">¶</a></h2>
-<p><em>Default Value:</em> 604800</p>
-</div>
-<div class="section" id="enable-user-defined-functions">
-<h2><code class="docutils literal notranslate"><span class="pre">enable_user_defined_functions</span></code><a class="headerlink" href="#enable-user-defined-functions" title="Permalink to this headline">¶</a></h2>
-<p>If unset, all GC Pauses greater than gc_log_threshold_in_ms will log at
-INFO level
-UDFs (user defined functions) are disabled by default.
-As of Cassandra 3.0 there is a sandbox in place that should prevent execution of evil code.</p>
-<p><em>Default Value:</em> false</p>
-</div>
-<div class="section" id="enable-scripted-user-defined-functions">
-<h2><code class="docutils literal notranslate"><span class="pre">enable_scripted_user_defined_functions</span></code><a class="headerlink" href="#enable-scripted-user-defined-functions" title="Permalink to this headline">¶</a></h2>
-<p>Enables scripted UDFs (JavaScript UDFs).
-Java UDFs are always enabled, if enable_user_defined_functions is true.
-Enable this option to be able to use UDFs with “language javascript” or any custom JSR-223 provider.
-This option has no effect, if enable_user_defined_functions is false.</p>
-<p><em>Default Value:</em> false</p>
-</div>
-<div class="section" id="windows-timer-interval">
-<h2><code class="docutils literal notranslate"><span class="pre">windows_timer_interval</span></code><a class="headerlink" href="#windows-timer-interval" title="Permalink to this headline">¶</a></h2>
-<p>The default Windows kernel timer and scheduling resolution is 15.6ms for power conservation.
-Lowering this value on Windows can provide much tighter latency and better throughput, however
-some virtualized environments may see a negative performance impact from changing this setting
-below their system default. The sysinternals ‘clockres’ tool can confirm your system’s default
-setting.</p>
-<p><em>Default Value:</em> 1</p>
-</div>
-<div class="section" id="transparent-data-encryption-options">
-<h2><code class="docutils literal notranslate"><span class="pre">transparent_data_encryption_options</span></code><a class="headerlink" href="#transparent-data-encryption-options" title="Permalink to this headline">¶</a></h2>
-<p>Enables encrypting data at-rest (on disk). Different key providers can be plugged in, but the default reads from
-a JCE-style keystore. A single keystore can hold multiple keys, but the one referenced by
-the “key_alias” is the only key that will be used for encrypt opertaions; previously used keys
-can still (and should!) be in the keystore and will be used on decrypt operations
-(to handle the case of key rotation).</p>
-<p>It is strongly recommended to download and install Java Cryptography Extension (JCE)
-Unlimited Strength Jurisdiction Policy Files for your version of the JDK.
-(current link: <a class="reference external" href="http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html">http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html</a>)</p>
-<p>Currently, only the following file types are supported for transparent data encryption, although
-more are coming in future cassandra releases: commitlog, hints</p>
-<p><em>Default Value (complex option)</em>:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">enabled</span><span class="p">:</span> <span class="n">false</span>
-<span class="n">chunk_length_kb</span><span class="p">:</span> <span class="mi">64</span>
-<span class="n">cipher</span><span class="p">:</span> <span class="n">AES</span><span class="o">/</span><span class="n">CBC</span><span class="o">/</span><span class="n">PKCS5Padding</span>
-<span class="n">key_alias</span><span class="p">:</span> <span class="n">testing</span><span class="p">:</span><span class="mi">1</span>
-<span class="c1"># CBC IV length for AES needs to be 16 bytes (which is also the default size)</span>
-<span class="c1"># iv_length: 16</span>
-<span class="n">key_provider</span><span class="p">:</span>
-  <span class="o">-</span> <span class="n">class_name</span><span class="p">:</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">cassandra</span><span class="o">.</span><span class="n">security</span><span class="o">.</span><span class="n">JKSKeyProvider</span>
-    <span class="n">parameters</span><span class="p">:</span>
-      <span class="o">-</span> <span class="n">keystore</span><span class="p">:</span> <span class="n">conf</span><span class="o">/.</span><span class="n">keystore</span>
-        <span class="n">keystore_password</span><span class="p">:</span> <span class="n">cassandra</span>
-        <span class="n">store_type</span><span class="p">:</span> <span class="n">JCEKS</span>
-        <span class="n">key_password</span><span class="p">:</span> <span class="n">cassandra</span>
-</pre></div>
-</div>
-</div>
-<div class="section" id="tombstone-warn-threshold">
-<h2><code class="docutils literal notranslate"><span class="pre">tombstone_warn_threshold</span></code><a class="headerlink" href="#tombstone-warn-threshold" title="Permalink to this headline">¶</a></h2>
-<div class="section" id="safety-thresholds">
-<h3>SAFETY THRESHOLDS #<a class="headerlink" href="#safety-thresholds" title="Permalink to this headline">¶</a></h3>
-<p>When executing a scan, within or across a partition, we need to keep the
-tombstones seen in memory so we can return them to the coordinator, which
-will use them to make sure other replicas also know about the deleted rows.
-With workloads that generate a lot of tombstones, this can cause performance
-problems and even exaust the server heap.
-(<a class="reference external" href="http://www.datastax.com/dev/blog/cassandra-anti-patterns-queues-and-queue-like-datasets">http://www.datastax.com/dev/blog/cassandra-anti-patterns-queues-and-queue-like-datasets</a>)
-Adjust the thresholds here if you understand the dangers and want to
-scan more tombstones anyway.  These thresholds may also be adjusted at runtime
-using the StorageService mbean.</p>
-<p><em>Default Value:</em> 1000</p>
-</div>
-</div>
-<div class="section" id="tombstone-failure-threshold">
-<h2><code class="docutils literal notranslate"><span class="pre">tombstone_failure_threshold</span></code><a class="headerlink" href="#tombstone-failure-threshold" title="Permalink to this headline">¶</a></h2>
-<p><em>Default Value:</em> 100000</p>
-</div>
-<div class="section" id="batch-size-warn-threshold-in-kb">
-<h2><code class="docutils literal notranslate"><span class="pre">batch_size_warn_threshold_in_kb</span></code><a class="headerlink" href="#batch-size-warn-threshold-in-kb" title="Permalink to this headline">¶</a></h2>
-<p>Log WARN on any multiple-partition batch size exceeding this value. 5kb per batch by default.
-Caution should be taken on increasing the size of this threshold as it can lead to node instability.</p>
-<p><em>Default Value:</em> 5</p>
-</div>
-<div class="section" id="batch-size-fail-threshold-in-kb">
-<h2><code class="docutils literal notranslate"><span class="pre">batch_size_fail_threshold_in_kb</span></code><a class="headerlink" href="#batch-size-fail-threshold-in-kb" title="Permalink to this headline">¶</a></h2>
-<p>Fail any multiple-partition batch exceeding this value. 50kb (10x warn threshold) by default.</p>
-<p><em>Default Value:</em> 50</p>
-</div>
-<div class="section" id="unlogged-batch-across-partitions-warn-threshold">
-<h2><code class="docutils literal notranslate"><span class="pre">unlogged_batch_across_partitions_warn_threshold</span></code><a class="headerlink" href="#unlogged-batch-across-partitions-warn-threshold" title="Permalink to this headline">¶</a></h2>
-<p>Log WARN on any batches not of type LOGGED than span across more partitions than this limit</p>
-<p><em>Default Value:</em> 10</p>
-</div>
-<div class="section" id="compaction-large-partition-warning-threshold-mb">
-<h2><code class="docutils literal notranslate"><span class="pre">compaction_large_partition_warning_threshold_mb</span></code><a class="headerlink" href="#compaction-large-partition-warning-threshold-mb" title="Permalink to this headline">¶</a></h2>
-<p>Log a warning when compacting partitions larger than this value</p>
-<p><em>Default Value:</em> 100</p>
-</div>
-<div class="section" id="gc-log-threshold-in-ms">
-<h2><code class="docutils literal notranslate"><span class="pre">gc_log_threshold_in_ms</span></code><a class="headerlink" href="#gc-log-threshold-in-ms" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>GC Pauses greater than 200 ms will be logged at INFO level
-This threshold can be adjusted to minimize logging if necessary</p>
-<p><em>Default Value:</em> 200</p>
-</div>
-<div class="section" id="gc-warn-threshold-in-ms">
-<h2><code class="docutils literal notranslate"><span class="pre">gc_warn_threshold_in_ms</span></code><a class="headerlink" href="#gc-warn-threshold-in-ms" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>GC Pauses greater than gc_warn_threshold_in_ms will be logged at WARN level
-Adjust the threshold based on your application throughput requirement. Setting to 0
-will deactivate the feature.</p>
-<p><em>Default Value:</em> 1000</p>
-</div>
-<div class="section" id="max-value-size-in-mb">
-<h2><code class="docutils literal notranslate"><span class="pre">max_value_size_in_mb</span></code><a class="headerlink" href="#max-value-size-in-mb" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Maximum size of any value in SSTables. Safety measure to detect SSTable corruption
-early. Any value size larger than this threshold will result into marking an SSTable
-as corrupted. This should be positive and less than 2048.</p>
-<p><em>Default Value:</em> 256</p>
-</div>
-<div class="section" id="back-pressure-enabled">
-<h2><code class="docutils literal notranslate"><span class="pre">back_pressure_enabled</span></code><a class="headerlink" href="#back-pressure-enabled" title="Permalink to this headline">¶</a></h2>
-<p>Back-pressure settings #
-If enabled, the coordinator will apply the back-pressure strategy specified below to each mutation
-sent to replicas, with the aim of reducing pressure on overloaded replicas.</p>
-<p><em>Default Value:</em> false</p>
-</div>
-<div class="section" id="back-pressure-strategy">
-<h2><code class="docutils literal notranslate"><span class="pre">back_pressure_strategy</span></code><a class="headerlink" href="#back-pressure-strategy" title="Permalink to this headline">¶</a></h2>
-<p>The back-pressure strategy applied.
-The default implementation, RateBasedBackPressure, takes three arguments:
-high ratio, factor, and flow type, and uses the ratio between incoming mutation responses and outgoing mutation requests.
-If below high ratio, outgoing mutations are rate limited according to the incoming rate decreased by the given factor;
-if above high ratio, the rate limiting is increased by the given factor;
-such factor is usually best configured between 1 and 10, use larger values for a faster recovery
-at the expense of potentially more dropped mutations;
-the rate limiting is applied according to the flow type: if FAST, it’s rate limited at the speed of the fastest replica,
-if SLOW at the speed of the slowest one.
-New strategies can be added. Implementors need to implement org.apache.cassandra.net.BackpressureStrategy and
-provide a public constructor accepting a Map&lt;String, Object&gt;.</p>
-</div>
-<div class="section" id="otc-coalescing-strategy">
-<h2><code class="docutils literal notranslate"><span class="pre">otc_coalescing_strategy</span></code><a class="headerlink" href="#otc-coalescing-strategy" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Coalescing Strategies #
-Coalescing multiples messages turns out to significantly boost message processing throughput (think doubling or more).
-On bare metal, the floor for packet processing throughput is high enough that many applications won’t notice, but in
-virtualized environments, the point at which an application can be bound by network packet processing can be
-surprisingly low compared to the throughput of task processing that is possible inside a VM. It’s not that bare metal
-doesn’t benefit from coalescing messages, it’s that the number of packets a bare metal network interface can process
-is sufficient for many applications such that no load starvation is experienced even without coalescing.
-There are other benefits to coalescing network messages that are harder to isolate with a simple metric like messages
-per second. By coalescing multiple tasks together, a network thread can process multiple messages for the cost of one
-trip to read from a socket, and all the task submission work can be done at the same time reducing context switching
-and increasing cache friendliness of network message processing.
-See CASSANDRA-8692 for details.</p>
-<p>Strategy to use for coalescing messages in OutboundTcpConnection.
-Can be fixed, movingaverage, timehorizon, disabled (default).
-You can also specify a subclass of CoalescingStrategies.CoalescingStrategy by name.</p>
-<p><em>Default Value:</em> DISABLED</p>
-</div>
-<div class="section" id="otc-coalescing-window-us">
-<h2><code class="docutils literal notranslate"><span class="pre">otc_coalescing_window_us</span></code><a class="headerlink" href="#otc-coalescing-window-us" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>How many microseconds to wait for coalescing. For fixed strategy this is the amount of time after the first
-message is received before it will be sent with any accompanying messages. For moving average this is the
-maximum amount of time that will be waited as well as the interval at which messages must arrive on average
-for coalescing to be enabled.</p>
-<p><em>Default Value:</em> 200</p>
-</div>
-<div class="section" id="otc-coalescing-enough-coalesced-messages">
-<h2><code class="docutils literal notranslate"><span class="pre">otc_coalescing_enough_coalesced_messages</span></code><a class="headerlink" href="#otc-coalescing-enough-coalesced-messages" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Do not try to coalesce messages if we already got that many messages. This should be more than 2 and less than 128.</p>
-<p><em>Default Value:</em> 8</p>
-</div>
-<div class="section" id="otc-backlog-expiration-interval-ms">
-<h2><code class="docutils literal notranslate"><span class="pre">otc_backlog_expiration_interval_ms</span></code><a class="headerlink" href="#otc-backlog-expiration-interval-ms" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>How many milliseconds to wait between two expiration runs on the backlog (queue) of the OutboundTcpConnection.
-Expiration is done if messages are piling up in the backlog. Droppable messages are expired to free the memory
-taken by expired messages. The interval should be between 0 and 1000, and in most installations the default value
-will be appropriate. A smaller value could potentially expire messages slightly sooner at the expense of more CPU
-time and queue contention while iterating the backlog of messages.
-An interval of 0 disables any wait time, which is the behavior of former Cassandra versions.</p>
-<p><em>Default Value:</em> 200</p>
-</div>
-<div class="section" id="ideal-consistency-level">
-<h2><code class="docutils literal notranslate"><span class="pre">ideal_consistency_level</span></code><a class="headerlink" href="#ideal-consistency-level" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Track a metric per keyspace indicating whether replication achieved the ideal consistency
-level for writes without timing out. This is different from the consistency level requested by
-each write which may be lower in order to facilitate availability.</p>
-<p><em>Default Value:</em> EACH_QUORUM</p>
-</div>
-<div class="section" id="full-query-log-dir">
-<h2><code class="docutils literal notranslate"><span class="pre">full_query_log_dir</span></code><a class="headerlink" href="#full-query-log-dir" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Path to write full query log data to when the full query log is enabled
-The full query log will recrusively delete the contents of this path at
-times. Don’t place links in this directory to other parts of the filesystem.</p>
-<p><em>Default Value:</em>  /tmp/cassandrafullquerylog</p>
-</div>
-<div class="section" id="automatic-sstable-upgrade">
-<h2><code class="docutils literal notranslate"><span class="pre">automatic_sstable_upgrade</span></code><a class="headerlink" href="#automatic-sstable-upgrade" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Automatically upgrade sstables after upgrade - if there is no ordinary compaction to do, the
-oldest non-upgraded sstable will get upgraded to the latest version</p>
-<p><em>Default Value:</em> false</p>
-</div>
-<div class="section" id="max-concurrent-automatic-sstable-upgrades">
-<h2><code class="docutils literal notranslate"><span class="pre">max_concurrent_automatic_sstable_upgrades</span></code><a class="headerlink" href="#max-concurrent-automatic-sstable-upgrades" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em>
-Limit the number of concurrent sstable upgrades</p>
-<p><em>Default Value:</em> 1</p>
-</div>
-<div class="section" id="audit-logging-options">
-<h2><code class="docutils literal notranslate"><span class="pre">audit_logging_options</span></code><a class="headerlink" href="#audit-logging-options" title="Permalink to this headline">¶</a></h2>
-<p>Audit logging - Logs every incoming CQL command request, authentication to a node. See the docs
-on audit_logging for full details about the various configuration options.</p>
-</div>
-<div class="section" id="full-query-logging-options">
-<h2><code class="docutils literal notranslate"><span class="pre">full_query_logging_options</span></code><a class="headerlink" href="#full-query-logging-options" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>default options for full query logging - these can be overridden from command line when executing
-nodetool enablefullquerylog</p>
-</div>
-<div class="section" id="corrupted-tombstone-strategy">
-<h2><code class="docutils literal notranslate"><span class="pre">corrupted_tombstone_strategy</span></code><a class="headerlink" href="#corrupted-tombstone-strategy" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>validate tombstones on reads and compaction
-can be either “disabled”, “warn” or “exception”</p>
-<p><em>Default Value:</em> disabled</p>
-</div>
-<div class="section" id="diagnostic-events-enabled">
-<h2><code class="docutils literal notranslate"><span class="pre">diagnostic_events_enabled</span></code><a class="headerlink" href="#diagnostic-events-enabled" title="Permalink to this headline">¶</a></h2>
-<p>Diagnostic Events #
-If enabled, diagnostic events can be helpful for troubleshooting operational issues. Emitted events contain details
-on internal state and temporal relationships across events, accessible by clients via JMX.</p>
-<p><em>Default Value:</em> false</p>
-</div>
-<div class="section" id="native-transport-flush-in-batches-legacy">
-<h2><code class="docutils literal notranslate"><span class="pre">native_transport_flush_in_batches_legacy</span></code><a class="headerlink" href="#native-transport-flush-in-batches-legacy" title="Permalink to this headline">¶</a></h2>
-<p><em>This option is commented out by default.</em></p>
-<p>Use native transport TCP message coalescing. If on upgrade to 4.0 you found your throughput decreasing, and in
-particular you run an old kernel or have very fewer client connections, this option might be worth evaluating.</p>
-<p><em>Default Value:</em> false</p>
-</div>
-<div class="section" id="repaired-data-tracking-for-range-reads-enabled">
-<h2><code class="docutils literal notranslate"><span class="pre">repaired_data_tracking_for_range_reads_enabled</span></code><a class="headerlink" href="#repaired-data-tracking-for-range-reads-enabled" title="Permalink to this headline">¶</a></h2>
-<p>Enable tracking of repaired state of data during reads and comparison between replicas
-Mismatches between the repaired sets of replicas can be characterized as either confirmed
-or unconfirmed. In this context, unconfirmed indicates that the presence of pending repair
-sessions, unrepaired partition tombstones, or some other condition means that the disparity
-cannot be considered conclusive. Confirmed mismatches should be a trigger for investigation
-as they may be indicative of corruption or data loss.
-There are separate flags for range vs partition reads as single partition reads are only tracked
-when CL &gt; 1 and a digest mismatch occurs. Currently, range queries don’t use digests so if
-enabled for range reads, all range reads will include repaired data tracking. As this adds
-some overhead, operators may wish to disable it whilst still enabling it for partition reads</p>
-<p><em>Default Value:</em> false</p>
-</div>
-<div class="section" id="repaired-data-tracking-for-partition-reads-enabled">
-<h2><code class="docutils literal notranslate"><span class="pre">repaired_data_tracking_for_partition_reads_enabled</span></code><a class="headerlink" href="#repaired-data-tracking-for-partition-reads-enabled" title="Permalink to this headline">¶</a></h2>
-<p><em>Default Value:</em> false</p>
-</div>
-<div class="section" id="report-unconfirmed-repaired-data-mismatches">
-<h2><code class="docutils literal notranslate"><span class="pre">report_unconfirmed_repaired_data_mismatches</span></code><a class="headerlink" href="#report-unconfirmed-repaired-data-mismatches" title="Permalink to this headline">¶</a></h2>
-<p>If false, only confirmed mismatches will be reported. If true, a separate metric for unconfirmed
-mismatches will also be recorded. This is to avoid potential signal:noise issues are unconfirmed
-mismatches are less actionable than confirmed ones.</p>
-<p><em>Default Value:</em> false</p>
-</div>
-<div class="section" id="enable-materialized-views">
-<h2><code class="docutils literal notranslate"><span class="pre">enable_materialized_views</span></code><a class="headerlink" href="#enable-materialized-views" title="Permalink to this headline">¶</a></h2>
-<div class="section" id="experimental-features">
-<h3>EXPERIMENTAL FEATURES #<a class="headerlink" href="#experimental-features" title="Permalink to this headline">¶</a></h3>
-<p>Enables materialized view creation on this node.
-Materialized views are considered experimental and are not recommended for production use.</p>
-<p><em>Default Value:</em> false</p>
-</div>
-</div>
-<div class="section" id="enable-sasi-indexes">
-<h2><code class="docutils literal notranslate"><span class="pre">enable_sasi_indexes</span></code><a class="headerlink" href="#enable-sasi-indexes" title="Permalink to this headline">¶</a></h2>
-<p>Enables SASI index creation on this node.
-SASI indexes are considered experimental and are not recommended for production use.</p>
-<p><em>Default Value:</em> false</p>
-</div>
-<div class="section" id="enable-transient-replication">
-<h2><code class="docutils literal notranslate"><span class="pre">enable_transient_replication</span></code><a class="headerlink" href="#enable-transient-replication" title="Permalink to this headline">¶</a></h2>
-<p>Enables creation of transiently replicated keyspaces on this node.
-Transient replication is experimental and is not recommended for production use.</p>
-<p><em>Default Value:</em> false</p>
-</div>
-</div>
-
-
-
-          
-          <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation">
-            
-            <a href="../operating/index.html" class="btn btn-default pull-right " role="button" title="Operating Cassandra" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
-            
-            
-            <a href="index.html" class="btn btn-default" role="button" title="Configuring Cassandra" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
-            
-          </div>
-          
-        </div>
-      </div>
-    </div>
-  </div>
-</div>
-
-    <hr />
-
-<footer>
-  <div class="container">
-    <div class="col-md-4 social-blk">
-      <span class="social">
-        <a href="https://twitter.com/cassandra"
-           class="twitter-follow-button"
-           data-show-count="false" data-size="large">Follow @cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-        <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
-           class="twitter-hashtag-button"
-           data-size="large"
-           data-related="ApacheCassandra">Tweet #cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-
-      </span>
-      <a class="subscribe-rss icon-link" href="/feed.xml" title="Subscribe to Blog via RSS">
-          <span><i class="fa fa-rss"></i></span>
-      </a>
-    </div>
-
-    <div class="col-md-8 trademark">
-      <p>&copy; 2016 <a href="http://apache.org">The Apache Software Foundation</a>.
-      Apache, the Apache feather logo, and Apache Cassandra are trademarks of The Apache Software Foundation.
-      <p>
-    </div>
-  </div><!-- /.container -->
-</footer>
-
-<!-- Javascript. Placed here so pages load faster -->
-<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
-<script src="./../../../js/underscore-min.js"></script>
-<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
-
-
-<script src="./../../../js/doctools.js"></script>
-<script src="./../../../js/searchtools.js"></script>
-
- <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:    "", VERSION:     "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE:  false, SOURCELINK_SUFFIX: ".txt" }; </script> 
-
-
-
-<script type="text/javascript">
-  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
-  document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
-
-  try {
-    var pageTracker = _gat._getTracker("UA-11583863-1");
-    pageTracker._trackPageview();
-  } catch(err) {}
-</script>
-
-
-  </body>
-</html>
diff --git a/content/doc/4.0/configuration/index.html b/content/doc/4.0/configuration/index.html
deleted file mode 100644
index ea02a77..0000000
--- a/content/doc/4.0/configuration/index.html
+++ /dev/null
@@ -1,236 +0,0 @@
-<!DOCTYPE html>
-<html>
-  
-
-
-
-<head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="description" content="The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive r [...]
-">
-  <meta name="keywords" content="cassandra, apache, apache cassandra, distributed storage, key value store, scalability, bigtable, dynamo" />
-  <meta name="robots" content="index,follow" />
-  <meta name="language" content="en" />  
-
-  <title>Documentation</title>
-
-  <link rel="canonical" href="http://cassandra.apache.org/doc/4.0/configuration/">
-
-  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
-  <link rel="stylesheet" href="./../../../css/style.css">
-  
-  <link rel="stylesheet" href="./../../../css/sphinx.css">
-  
-
-   <link rel="top" title="Apache Cassandra Documentation v4.0" href="../index.html"/> <link rel="next" title="Cassandra Configuration File" href="cassandra_config_file.html"/> <link rel="prev" title="Changes" href="../cql/changes.html"/> 
-  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
-  
-  <link type="application/atom+xml" rel="alternate" href="http://cassandra.apache.org/feed.xml" title="Apache Cassandra Website" />
-</head>
-
-  <body>
-    <!-- breadcrumbs -->
-<div class="topnav">
-  <div class="container breadcrumb-container">
-    <ul class="breadcrumb">
-      <li>
-        <div class="dropdown">
-          <img class="asf-logo" src="./../../../img/asf_feather.png" />
-          <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
-          <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
-            <li><a href="http://www.apache.org">Apache Homepage</a></li>
-            <li><a href="http://www.apache.org/licenses/">License</a></li>
-            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
-            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
-            <li><a href="http://www.apache.org/security/">Security</a></li>
-          </ul>
-        </div>
-      </li>
-
-      
-      <li><a href="./../../../">Apache Cassandra</a></li>
-      
-
-      
-        
-        <li><a href="./../../../doc">Documentation</a></li>
-        
-      
-
-      
-
-      
-      <li>Configuring Cassandra</li>
-      
-    </ul>
-  </div>
-
-  <!-- navbar -->
-  <nav class="navbar navbar-default navbar-static-top" role="navigation">
-    <div class="container">
-      <div class="navbar-header">
-        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
-          <span class="sr-only">Toggle navigation</span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-        </button>
-        <a class="navbar-brand" href="./../../../"><img src="./../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
-      </div><!-- /.navbar-header -->
-
-      <div id="cassandra-menu" class="collapse navbar-collapse">
-        <ul class="nav navbar-nav navbar-right">
-          <li><a href="./../../../">Home</a></li>
-          <li><a href="./../../../download/">Download</a></li>
-          <li><a href="./../../../doc/">Documentation</a></li>
-          <li><a href="./../../../community/">Community</a></li>
-          <li>
-            <a href="./../../../blog/">Blog</a>
-        </li>
-        </ul>
-      </div><!-- /#cassandra-menu -->
-
-      
-    </div>
-  </nav><!-- /.navbar -->
-</div><!-- /.topnav -->
-
-    <div class="container-fluid">
-  <div class="row">
-    <div class="col-md-3">
-      <div class="doc-navigation">
-        <div class="doc-menu" role="navigation">
-          <div class="navbar-header">
-            <button type="button" class="pull-left navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse">
-              <span class="sr-only">Toggle navigation</span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-            </button>
-          </div>
-          <div class="navbar-collapse collapse sidebar-navbar-collapse">
-            <form id="doc-search-form" class="navbar-form" action="../search.html" method="get" role="search">
-              <div class="form-group">
-                <input type="text" size="30" class="form-control input-sm" name="q" placeholder="Search docs">
-                <input type="hidden" name="check_keywords" value="yes" />
-                <input type="hidden" name="area" value="default" />
-              </div>
-            </form>
-            
-            
-            
-            <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../cql/index.html">The Cassandra Query Language (CQL)</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Configuring Cassandra</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="cassandra_config_file.html">Cassandra Configuration File</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Contributing to Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">Frequently Asked Questions</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Third-Party Plugins</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li>
-</ul>
-
-            
-            
-          </div><!--/.nav-collapse -->
-        </div>
-      </div>
-    </div>
-    <div class="col-md-8">
-      <div class="content doc-content">
-        <div class="content-container">
-          
-  <div class="section" id="configuring-cassandra">
-<h1>Configuring Cassandra<a class="headerlink" href="#configuring-cassandra" title="Permalink to this headline">¶</a></h1>
-<p>This section describes how to configure Apache Cassandra.</p>
-<div class="toctree-wrapper compound">
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="cassandra_config_file.html">Cassandra Configuration File</a></li>
-</ul>
-</div>
-</div>
-
-
-
-          
-          <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation">
-            
-            <a href="cassandra_config_file.html" class="btn btn-default pull-right " role="button" title="Cassandra Configuration File" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
-            
-            
-            <a href="../cql/changes.html" class="btn btn-default" role="button" title="Changes" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
-            
-          </div>
-          
-        </div>
-      </div>
-    </div>
-  </div>
-</div>
-
-    <hr />
-
-<footer>
-  <div class="container">
-    <div class="col-md-4 social-blk">
-      <span class="social">
-        <a href="https://twitter.com/cassandra"
-           class="twitter-follow-button"
-           data-show-count="false" data-size="large">Follow @cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-        <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
-           class="twitter-hashtag-button"
-           data-size="large"
-           data-related="ApacheCassandra">Tweet #cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-
-      </span>
-      <a class="subscribe-rss icon-link" href="/feed.xml" title="Subscribe to Blog via RSS">
-          <span><i class="fa fa-rss"></i></span>
-      </a>
-    </div>
-
-    <div class="col-md-8 trademark">
-      <p>&copy; 2016 <a href="http://apache.org">The Apache Software Foundation</a>.
-      Apache, the Apache feather logo, and Apache Cassandra are trademarks of The Apache Software Foundation.
-      <p>
-    </div>
-  </div><!-- /.container -->
-</footer>
-
-<!-- Javascript. Placed here so pages load faster -->
-<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
-<script src="./../../../js/underscore-min.js"></script>
-<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
-
-
-<script src="./../../../js/doctools.js"></script>
-<script src="./../../../js/searchtools.js"></script>
-
- <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:    "", VERSION:     "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE:  false, SOURCELINK_SUFFIX: ".txt" }; </script> 
-
-
-
-<script type="text/javascript">
-  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
-  document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
-
-  try {
-    var pageTracker = _gat._getTracker("UA-11583863-1");
-    pageTracker._trackPageview();
-  } catch(err) {}
-</script>
-
-
-  </body>
-</html>
diff --git a/content/doc/4.0/contactus.html b/content/doc/4.0/contactus.html
deleted file mode 100644
index c63d4f2..0000000
--- a/content/doc/4.0/contactus.html
+++ /dev/null
@@ -1,253 +0,0 @@
-<!DOCTYPE html>
-<html>
-  
-
-
-
-<head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="description" content="The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive r [...]
-">
-  <meta name="keywords" content="cassandra, apache, apache cassandra, distributed storage, key value store, scalability, bigtable, dynamo" />
-  <meta name="robots" content="index,follow" />
-  <meta name="language" content="en" />  
-
-  <title>Documentation</title>
-
-  <link rel="canonical" href="http://cassandra.apache.org/doc/4.0/contactus.html">
-
-  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
-  <link rel="stylesheet" href="./../../css/style.css">
-  
-  <link rel="stylesheet" href="./../../css/sphinx.css">
-  
-
-   <link rel="top" title="Apache Cassandra Documentation v4.0" href="index.html"/> <link rel="prev" title="Reporting Bugs" href="bugs.html"/> 
-  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
-  
-  <link type="application/atom+xml" rel="alternate" href="http://cassandra.apache.org/feed.xml" title="Apache Cassandra Website" />
-</head>
-
-  <body>
-    <!-- breadcrumbs -->
-<div class="topnav">
-  <div class="container breadcrumb-container">
-    <ul class="breadcrumb">
-      <li>
-        <div class="dropdown">
-          <img class="asf-logo" src="./../../img/asf_feather.png" />
-          <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
-          <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
-            <li><a href="http://www.apache.org">Apache Homepage</a></li>
-            <li><a href="http://www.apache.org/licenses/">License</a></li>
-            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
-            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
-            <li><a href="http://www.apache.org/security/">Security</a></li>
-          </ul>
-        </div>
-      </li>
-
-      
-      <li><a href="./../../">Apache Cassandra</a></li>
-      
-
-      
-        
-        <li><a href="./../../doc">Documentation</a></li>
-        
-      
-
-      
-
-      
-      <li>Contact us</li>
-      
-    </ul>
-  </div>
-
-  <!-- navbar -->
-  <nav class="navbar navbar-default navbar-static-top" role="navigation">
-    <div class="container">
-      <div class="navbar-header">
-        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
-          <span class="sr-only">Toggle navigation</span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-        </button>
-        <a class="navbar-brand" href="./../../"><img src="./../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
-      </div><!-- /.navbar-header -->
-
-      <div id="cassandra-menu" class="collapse navbar-collapse">
-        <ul class="nav navbar-nav navbar-right">
-          <li><a href="./../../">Home</a></li>
-          <li><a href="./../../download/">Download</a></li>
-          <li><a href="./../../doc/">Documentation</a></li>
-          <li><a href="./../../community/">Community</a></li>
-          <li>
-            <a href="./../../blog/">Blog</a>
-        </li>
-        </ul>
-      </div><!-- /#cassandra-menu -->
-
-      
-    </div>
-  </nav><!-- /.navbar -->
-</div><!-- /.topnav -->
-
-    <div class="container-fluid">
-  <div class="row">
-    <div class="col-md-3">
-      <div class="doc-navigation">
-        <div class="doc-menu" role="navigation">
-          <div class="navbar-header">
-            <button type="button" class="pull-left navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse">
-              <span class="sr-only">Toggle navigation</span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-            </button>
-          </div>
-          <div class="navbar-collapse collapse sidebar-navbar-collapse">
-            <form id="doc-search-form" class="navbar-form" action="search.html" method="get" role="search">
-              <div class="form-group">
-                <input type="text" size="30" class="form-control input-sm" name="q" placeholder="Search docs">
-                <input type="hidden" name="check_keywords" value="yes" />
-                <input type="hidden" name="area" value="default" />
-              </div>
-            </form>
-            
-            
-            
-            <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="getting_started/index.html">Getting Started</a></li>
-<li class="toctree-l1"><a class="reference internal" href="architecture/index.html">Architecture</a></li>
-<li class="toctree-l1"><a class="reference internal" href="data_modeling/index.html">Data Modeling</a></li>
-<li class="toctree-l1"><a class="reference internal" href="cql/index.html">The Cassandra Query Language (CQL)</a></li>
-<li class="toctree-l1"><a class="reference internal" href="configuration/index.html">Configuring Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="operating/index.html">Operating Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="tools/index.html">Cassandra Tools</a></li>
-<li class="toctree-l1"><a class="reference internal" href="troubleshooting/index.html">Troubleshooting</a></li>
-<li class="toctree-l1"><a class="reference internal" href="development/index.html">Contributing to Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="faq/index.html">Frequently Asked Questions</a></li>
-<li class="toctree-l1"><a class="reference internal" href="plugins/index.html">Third-Party Plugins</a></li>
-<li class="toctree-l1"><a class="reference internal" href="bugs.html">Reporting Bugs</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Contact us</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#mailing-lists">Mailing lists</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#slack">Slack</a></li>
-</ul>
-</li>
-</ul>
-
-            
-            
-          </div><!--/.nav-collapse -->
-        </div>
-      </div>
-    </div>
-    <div class="col-md-8">
-      <div class="content doc-content">
-        <div class="content-container">
-          
-  <div class="section" id="contact-us">
-<h1>Contact us<a class="headerlink" href="#contact-us" title="Permalink to this headline">¶</a></h1>
-<p>You can get in touch with the Cassandra community either via the mailing lists or <a class="reference internal" href="#slack"><span class="std std-ref">Slack rooms</span></a>.</p>
-<div class="section" id="mailing-lists">
-<span id="id1"></span><h2>Mailing lists<a class="headerlink" href="#mailing-lists" title="Permalink to this headline">¶</a></h2>
-<p>The following mailing lists are available:</p>
-<ul class="simple">
-<li><a class="reference external" href="http://www.mail-archive.com/user&#64;cassandra.apache.org/">Users</a> – General discussion list for users - <a class="reference external" href="mailto:user-subscribe&#37;&#52;&#48;cassandra&#46;apache&#46;org">Subscribe</a></li>
-<li><a class="reference external" href="http://www.mail-archive.com/dev&#64;cassandra.apache.org/">Developers</a> – Development related discussion - <a class="reference external" href="mailto:dev-subscribe&#37;&#52;&#48;cassandra&#46;apache&#46;org">Subscribe</a></li>
-<li><a class="reference external" href="http://www.mail-archive.com/commits&#64;cassandra.apache.org/">Commits</a> – Commit notification source repository -
-<a class="reference external" href="mailto:commits-subscribe&#37;&#52;&#48;cassandra&#46;apache&#46;org">Subscribe</a></li>
-<li><a class="reference external" href="http://www.mail-archive.com/client-dev&#64;cassandra.apache.org/">Client Libraries</a> – Discussion related to the
-development of idiomatic client APIs - <a class="reference external" href="mailto:client-dev-subscribe&#37;&#52;&#48;cassandra&#46;apache&#46;org">Subscribe</a></li>
-</ul>
-<p>Subscribe by sending an email to the email address in the Subscribe links above. Follow the instructions in the welcome
-email to confirm your subscription. Make sure to keep the welcome email as it contains instructions on how to
-unsubscribe.</p>
-</div>
-<div class="section" id="slack">
-<span id="id2"></span><h2>Slack<a class="headerlink" href="#slack" title="Permalink to this headline">¶</a></h2>
-<p>To chat with developers or users in real-time, join our rooms on <a class="reference external" href="https://s.apache.org/slack-invite">ASF Slack</a>:</p>
-<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">cassandra</span></code> - for user questions and general discussions.</li>
-<li><code class="docutils literal notranslate"><span class="pre">cassandra-dev</span></code> - strictly for questions or discussions related to Cassandra development.</li>
-</ul>
-</div>
-</div>
-
-
-
-          
-          <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation">
-            
-            
-            <a href="bugs.html" class="btn btn-default" role="button" title="Reporting Bugs" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
-            
-          </div>
-          
-        </div>
-      </div>
-    </div>
-  </div>
-</div>
-
-    <hr />
-
-<footer>
-  <div class="container">
-    <div class="col-md-4 social-blk">
-      <span class="social">
-        <a href="https://twitter.com/cassandra"
-           class="twitter-follow-button"
-           data-show-count="false" data-size="large">Follow @cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-        <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
-           class="twitter-hashtag-button"
-           data-size="large"
-           data-related="ApacheCassandra">Tweet #cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-
-      </span>
-      <a class="subscribe-rss icon-link" href="/feed.xml" title="Subscribe to Blog via RSS">
-          <span><i class="fa fa-rss"></i></span>
-      </a>
-    </div>
-
-    <div class="col-md-8 trademark">
-      <p>&copy; 2016 <a href="http://apache.org">The Apache Software Foundation</a>.
-      Apache, the Apache feather logo, and Apache Cassandra are trademarks of The Apache Software Foundation.
-      <p>
-    </div>
-  </div><!-- /.container -->
-</footer>
-
-<!-- Javascript. Placed here so pages load faster -->
-<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
-<script src="./../../js/underscore-min.js"></script>
-<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
-
-
-<script src="./../../js/doctools.js"></script>
-<script src="./../../js/searchtools.js"></script>
-
- <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:    "", VERSION:     "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE:  false, SOURCELINK_SUFFIX: ".txt" }; </script> 
-
-
-
-<script type="text/javascript">
-  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
-  document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
-
-  try {
-    var pageTracker = _gat._getTracker("UA-11583863-1");
-    pageTracker._trackPageview();
-  } catch(err) {}
-</script>
-
-
-  </body>
-</html>
diff --git a/content/doc/4.0/cql/appendices.html b/content/doc/4.0/cql/appendices.html
deleted file mode 100644
index 4df01e4..0000000
--- a/content/doc/4.0/cql/appendices.html
+++ /dev/null
@@ -1,692 +0,0 @@
-<!DOCTYPE html>
-<html>
-  
-
-
-
-<head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="description" content="The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive r [...]
-">
-  <meta name="keywords" content="cassandra, apache, apache cassandra, distributed storage, key value store, scalability, bigtable, dynamo" />
-  <meta name="robots" content="index,follow" />
-  <meta name="language" content="en" />  
-
-  <title>Documentation</title>
-
-  <link rel="canonical" href="http://cassandra.apache.org/doc/4.0/cql/appendices.html">
-
-  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
-  <link rel="stylesheet" href="./../../../css/style.css">
-  
-  <link rel="stylesheet" href="./../../../css/sphinx.css">
-  
-
-   <link rel="top" title="Apache Cassandra Documentation v4.0" href="../index.html"/> <link rel="up" title="The Cassandra Query Language (CQL)" href="index.html"/> <link rel="next" title="Changes" href="changes.html"/> <link rel="prev" title="Triggers" href="triggers.html"/> 
-  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
-  
-  <link type="application/atom+xml" rel="alternate" href="http://cassandra.apache.org/feed.xml" title="Apache Cassandra Website" />
-</head>
-
-  <body>
-    <!-- breadcrumbs -->
-<div class="topnav">
-  <div class="container breadcrumb-container">
-    <ul class="breadcrumb">
-      <li>
-        <div class="dropdown">
-          <img class="asf-logo" src="./../../../img/asf_feather.png" />
-          <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
-          <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
-            <li><a href="http://www.apache.org">Apache Homepage</a></li>
-            <li><a href="http://www.apache.org/licenses/">License</a></li>
-            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
-            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
-            <li><a href="http://www.apache.org/security/">Security</a></li>
-          </ul>
-        </div>
-      </li>
-
-      
-      <li><a href="./../../../">Apache Cassandra</a></li>
-      
-
-      
-        
-        <li><a href="./../../../doc">Documentation</a></li>
-        
-      
-
-      
-      <li><a href="./">The Cassandra Query Language (CQL)</a></li>
-      
-
-      
-      <li>Appendices</li>
-      
-    </ul>
-  </div>
-
-  <!-- navbar -->
-  <nav class="navbar navbar-default navbar-static-top" role="navigation">
-    <div class="container">
-      <div class="navbar-header">
-        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
-          <span class="sr-only">Toggle navigation</span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-        </button>
-        <a class="navbar-brand" href="./../../../"><img src="./../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
-      </div><!-- /.navbar-header -->
-
-      <div id="cassandra-menu" class="collapse navbar-collapse">
-        <ul class="nav navbar-nav navbar-right">
-          <li><a href="./../../../">Home</a></li>
-          <li><a href="./../../../download/">Download</a></li>
-          <li><a href="./../../../doc/">Documentation</a></li>
-          <li><a href="./../../../community/">Community</a></li>
-          <li>
-            <a href="./../../../blog/">Blog</a>
-        </li>
-        </ul>
-      </div><!-- /#cassandra-menu -->
-
-      
-    </div>
-  </nav><!-- /.navbar -->
-</div><!-- /.topnav -->
-
-    <div class="container-fluid">
-  <div class="row">
-    <div class="col-md-3">
-      <div class="doc-navigation">
-        <div class="doc-menu" role="navigation">
-          <div class="navbar-header">
-            <button type="button" class="pull-left navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse">
-              <span class="sr-only">Toggle navigation</span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-            </button>
-          </div>
-          <div class="navbar-collapse collapse sidebar-navbar-collapse">
-            <form id="doc-search-form" class="navbar-form" action="../search.html" method="get" role="search">
-              <div class="form-group">
-                <input type="text" size="30" class="form-control input-sm" name="q" placeholder="Search docs">
-                <input type="hidden" name="check_keywords" value="yes" />
-                <input type="hidden" name="area" value="default" />
-              </div>
-            </form>
-            
-            
-            
-            <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
-<li class="toctree-l1 current"><a class="reference internal" href="index.html">The Cassandra Query Language (CQL)</a><ul class="current">
-<li class="toctree-l2"><a class="reference internal" href="definitions.html">Definitions</a></li>
-<li class="toctree-l2"><a class="reference internal" href="types.html">Data Types</a></li>
-<li class="toctree-l2"><a class="reference internal" href="ddl.html">Data Definition</a></li>
-<li class="toctree-l2"><a class="reference internal" href="dml.html">Data Manipulation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="indexes.html">Secondary Indexes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="mvs.html">Materialized Views</a></li>
-<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
-<li class="toctree-l2"><a class="reference internal" href="functions.html">Functions</a></li>
-<li class="toctree-l2"><a class="reference internal" href="operators.html">Arithmetic Operators</a></li>
-<li class="toctree-l2"><a class="reference internal" href="json.html">JSON Support</a></li>
-<li class="toctree-l2"><a class="reference internal" href="triggers.html">Triggers</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Appendices</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#appendix-a-cql-keywords">Appendix A: CQL Keywords</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#appendix-b-cql-reserved-types">Appendix B: CQL Reserved Types</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#appendix-c-dropping-compact-storage">Appendix C: Dropping Compact Storage</a></li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html">Changes</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Contributing to Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">Frequently Asked Questions</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Third-Party Plugins</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li>
-</ul>
-
-            
-            
-          </div><!--/.nav-collapse -->
-        </div>
-      </div>
-    </div>
-    <div class="col-md-8">
-      <div class="content doc-content">
-        <div class="content-container">
-          
-  <div class="section" id="appendices">
-<h1>Appendices<a class="headerlink" href="#appendices" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="appendix-a-cql-keywords">
-<span id="appendix-a"></span><h2>Appendix A: CQL Keywords<a class="headerlink" href="#appendix-a-cql-keywords" title="Permalink to this headline">¶</a></h2>
-<p>CQL distinguishes between <em>reserved</em> and <em>non-reserved</em> keywords.
-Reserved keywords cannot be used as identifier, they are truly reserved
-for the language (but one can enclose a reserved keyword by
-double-quotes to use it as an identifier). Non-reserved keywords however
-only have a specific meaning in certain context but can used as
-identifier otherwise. The only <em>raison d’être</em> of these non-reserved
-keywords is convenience: some keyword are non-reserved when it was
-always easy for the parser to decide whether they were used as keywords
-or not.</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="61%" />
-<col width="39%" />
-</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Keyword</th>
-<th class="head">Reserved?</th>
-</tr>
-</thead>
-<tbody valign="top">
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">ADD</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">AGGREGATE</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">ALL</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">ALLOW</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">ALTER</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">AND</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">APPLY</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">AS</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">ASC</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">ASCII</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">AUTHORIZE</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">BATCH</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">BEGIN</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">BIGINT</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">BLOB</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">BOOLEAN</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">BY</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">CALLED</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">CLUSTERING</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">COLUMNFAMILY</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">COMPACT</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">CONTAINS</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">COUNT</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">COUNTER</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">CREATE</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">CUSTOM</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">DATE</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">DECIMAL</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">DELETE</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">DESC</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">DESCRIBE</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">DISTINCT</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">DOUBLE</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">DROP</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">ENTRIES</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">EXECUTE</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">EXISTS</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">FILTERING</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">FINALFUNC</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">FLOAT</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">FROM</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">FROZEN</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">FULL</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">FUNCTION</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">FUNCTIONS</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">GRANT</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">IF</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">IN</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">INDEX</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">INET</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">INFINITY</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">INITCOND</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">INPUT</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">INSERT</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">INT</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">INTO</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">JSON</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">KEY</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">KEYS</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">KEYSPACE</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">KEYSPACES</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">LANGUAGE</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">LIMIT</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">LIST</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">LOGIN</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">MAP</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">MODIFY</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">NAN</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">NOLOGIN</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">NORECURSIVE</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">NOSUPERUSER</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">NOT</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">NULL</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">OF</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">ON</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">OPTIONS</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">OR</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">ORDER</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">PASSWORD</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">PERMISSION</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">PERMISSIONS</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">PRIMARY</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">RENAME</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">REPLACE</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">RETURNS</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">REVOKE</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">ROLE</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">ROLES</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">SCHEMA</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">SELECT</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">SET</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">SFUNC</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">SMALLINT</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">STATIC</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">STORAGE</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">STYPE</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">SUPERUSER</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">TABLE</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">TEXT</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">TIME</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">TIMESTAMP</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">TIMEUUID</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">TINYINT</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">TO</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">TOKEN</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">TRIGGER</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">TRUNCATE</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">TTL</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">TUPLE</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">TYPE</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">UNLOGGED</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">UPDATE</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">USE</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">USER</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">USERS</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">USING</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">UUID</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">VALUES</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">VARCHAR</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">VARINT</span></code></td>
-<td>no</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">WHERE</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">WITH</span></code></td>
-<td>yes</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">WRITETIME</span></code></td>
-<td>no</td>
-</tr>
-</tbody>
-</table>
-</div>
-<div class="section" id="appendix-b-cql-reserved-types">
-<h2>Appendix B: CQL Reserved Types<a class="headerlink" href="#appendix-b-cql-reserved-types" title="Permalink to this headline">¶</a></h2>
-<p>The following type names are not currently used by CQL, but are reserved
-for potential future use. User-defined types may not use reserved type
-names as their name.</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="100%" />
-</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">type</th>
-</tr>
-</thead>
-<tbody valign="top">
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">bitstring</span></code></td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">byte</span></code></td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">complex</span></code></td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">enum</span></code></td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">interval</span></code></td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">macaddr</span></code></td>
-</tr>
-</tbody>
-</table>
-</div>
-<div class="section" id="appendix-c-dropping-compact-storage">
-<h2>Appendix C: Dropping Compact Storage<a class="headerlink" href="#appendix-c-dropping-compact-storage" title="Permalink to this headline">¶</a></h2>
-<p>Starting version 4.0, Thrift and COMPACT STORAGE is no longer supported.</p>
-<p>‘ALTER … DROP COMPACT STORAGE’ statement makes Compact Tables CQL-compatible,
-exposing internal structure of Thrift/Compact Tables:</p>
-<ul class="simple">
-<li>CQL-created Compact Tables that have no clustering columns, will expose an
-additional clustering column <code class="docutils literal notranslate"><span class="pre">column1</span></code> with <code class="docutils literal notranslate"><span class="pre">UTF8Type</span></code>.</li>
-<li>CQL-created Compact Tables that had no regular columns, will expose a
-regular column <code class="docutils literal notranslate"><span class="pre">value</span></code> with <code class="docutils literal notranslate"><span class="pre">BytesType</span></code>.</li>
-<li>For CQL-Created Compact Tables, all columns originally defined as
-<code class="docutils literal notranslate"><span class="pre">regular</span></code> will be come <code class="docutils literal notranslate"><span class="pre">static</span></code></li>
-<li>CQL-created Compact Tables that have clustering but have no regular
-columns will have an empty value column (of <code class="docutils literal notranslate"><span class="pre">EmptyType</span></code>)</li>
-<li>SuperColumn Tables (can only be created through Thrift) will expose
-a compact value map with an empty name.</li>
-<li>Thrift-created Compact Tables will have types corresponding to their
-Thrift definition.</li>
-</ul>
-</div>
-</div>
-
-
-
-          
-          <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation">
-            
-            <a href="changes.html" class="btn btn-default pull-right " role="button" title="Changes" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
-            
-            
-            <a href="triggers.html" class="btn btn-default" role="button" title="Triggers" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
-            
-          </div>
-          
-        </div>
-      </div>
-    </div>
-  </div>
-</div>
-
-    <hr />
-
-<footer>
-  <div class="container">
-    <div class="col-md-4 social-blk">
-      <span class="social">
-        <a href="https://twitter.com/cassandra"
-           class="twitter-follow-button"
-           data-show-count="false" data-size="large">Follow @cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-        <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
-           class="twitter-hashtag-button"
-           data-size="large"
-           data-related="ApacheCassandra">Tweet #cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-
-      </span>
-      <a class="subscribe-rss icon-link" href="/feed.xml" title="Subscribe to Blog via RSS">
-          <span><i class="fa fa-rss"></i></span>
-      </a>
-    </div>
-
-    <div class="col-md-8 trademark">
-      <p>&copy; 2016 <a href="http://apache.org">The Apache Software Foundation</a>.
-      Apache, the Apache feather logo, and Apache Cassandra are trademarks of The Apache Software Foundation.
-      <p>
-    </div>
-  </div><!-- /.container -->
-</footer>
-
-<!-- Javascript. Placed here so pages load faster -->
-<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
-<script src="./../../../js/underscore-min.js"></script>
-<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
-
-
-<script src="./../../../js/doctools.js"></script>
-<script src="./../../../js/searchtools.js"></script>
-
- <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:    "", VERSION:     "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE:  false, SOURCELINK_SUFFIX: ".txt" }; </script> 
-
-
-
-<script type="text/javascript">
-  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
-  document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
-
-  try {
-    var pageTracker = _gat._getTracker("UA-11583863-1");
-    pageTracker._trackPageview();
-  } catch(err) {}
-</script>
-
-
-  </body>
-</html>
diff --git a/content/doc/4.0/cql/changes.html b/content/doc/4.0/cql/changes.html
deleted file mode 100644
index a40cc6a..0000000
--- a/content/doc/4.0/cql/changes.html
+++ /dev/null
@@ -1,488 +0,0 @@
-<!DOCTYPE html>
-<html>
-  
-
-
-
-<head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="description" content="The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive r [...]
-">
-  <meta name="keywords" content="cassandra, apache, apache cassandra, distributed storage, key value store, scalability, bigtable, dynamo" />
-  <meta name="robots" content="index,follow" />
-  <meta name="language" content="en" />  
-
-  <title>Documentation</title>
-
-  <link rel="canonical" href="http://cassandra.apache.org/doc/4.0/cql/changes.html">
-
-  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
-  <link rel="stylesheet" href="./../../../css/style.css">
-  
-  <link rel="stylesheet" href="./../../../css/sphinx.css">
-  
-
-   <link rel="top" title="Apache Cassandra Documentation v4.0" href="../index.html"/> <link rel="up" title="The Cassandra Query Language (CQL)" href="index.html"/> <link rel="next" title="Configuring Cassandra" href="../configuration/index.html"/> <link rel="prev" title="Appendices" href="appendices.html"/> 
-  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
-  
-  <link type="application/atom+xml" rel="alternate" href="http://cassandra.apache.org/feed.xml" title="Apache Cassandra Website" />
-</head>
-
-  <body>
-    <!-- breadcrumbs -->
-<div class="topnav">
-  <div class="container breadcrumb-container">
-    <ul class="breadcrumb">
-      <li>
-        <div class="dropdown">
-          <img class="asf-logo" src="./../../../img/asf_feather.png" />
-          <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
-          <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
-            <li><a href="http://www.apache.org">Apache Homepage</a></li>
-            <li><a href="http://www.apache.org/licenses/">License</a></li>
-            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
-            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
-            <li><a href="http://www.apache.org/security/">Security</a></li>
-          </ul>
-        </div>
-      </li>
-
-      
-      <li><a href="./../../../">Apache Cassandra</a></li>
-      
-
-      
-        
-        <li><a href="./../../../doc">Documentation</a></li>
-        
-      
-
-      
-      <li><a href="./">The Cassandra Query Language (CQL)</a></li>
-      
-
-      
-      <li>Changes</li>
-      
-    </ul>
-  </div>
-
-  <!-- navbar -->
-  <nav class="navbar navbar-default navbar-static-top" role="navigation">
-    <div class="container">
-      <div class="navbar-header">
-        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
-          <span class="sr-only">Toggle navigation</span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-        </button>
-        <a class="navbar-brand" href="./../../../"><img src="./../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
-      </div><!-- /.navbar-header -->
-
-      <div id="cassandra-menu" class="collapse navbar-collapse">
-        <ul class="nav navbar-nav navbar-right">
-          <li><a href="./../../../">Home</a></li>
-          <li><a href="./../../../download/">Download</a></li>
-          <li><a href="./../../../doc/">Documentation</a></li>
-          <li><a href="./../../../community/">Community</a></li>
-          <li>
-            <a href="./../../../blog/">Blog</a>
-        </li>
-        </ul>
-      </div><!-- /#cassandra-menu -->
-
-      
-    </div>
-  </nav><!-- /.navbar -->
-</div><!-- /.topnav -->
-
-    <div class="container-fluid">
-  <div class="row">
-    <div class="col-md-3">
-      <div class="doc-navigation">
-        <div class="doc-menu" role="navigation">
-          <div class="navbar-header">
-            <button type="button" class="pull-left navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse">
-              <span class="sr-only">Toggle navigation</span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-            </button>
-          </div>
-          <div class="navbar-collapse collapse sidebar-navbar-collapse">
-            <form id="doc-search-form" class="navbar-form" action="../search.html" method="get" role="search">
-              <div class="form-group">
-                <input type="text" size="30" class="form-control input-sm" name="q" placeholder="Search docs">
-                <input type="hidden" name="check_keywords" value="yes" />
-                <input type="hidden" name="area" value="default" />
-              </div>
-            </form>
-            
-            
-            
-            <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
-<li class="toctree-l1 current"><a class="reference internal" href="index.html">The Cassandra Query Language (CQL)</a><ul class="current">
-<li class="toctree-l2"><a class="reference internal" href="definitions.html">Definitions</a></li>
-<li class="toctree-l2"><a class="reference internal" href="types.html">Data Types</a></li>
-<li class="toctree-l2"><a class="reference internal" href="ddl.html">Data Definition</a></li>
-<li class="toctree-l2"><a class="reference internal" href="dml.html">Data Manipulation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="indexes.html">Secondary Indexes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="mvs.html">Materialized Views</a></li>
-<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
-<li class="toctree-l2"><a class="reference internal" href="functions.html">Functions</a></li>
-<li class="toctree-l2"><a class="reference internal" href="operators.html">Arithmetic Operators</a></li>
-<li class="toctree-l2"><a class="reference internal" href="json.html">JSON Support</a></li>
-<li class="toctree-l2"><a class="reference internal" href="triggers.html">Triggers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="appendices.html">Appendices</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Changes</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#id1">3.4.5</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#id2">3.4.4</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#id3">3.4.3</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#id6">3.4.2</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#id7">3.4.1</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#id8">3.4.0</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#id9">3.3.1</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#id10">3.3.0</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#id11">3.2.0</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#id12">3.1.7</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#id13">3.1.6</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#id14">3.1.5</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#id15">3.1.4</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#id16">3.1.3</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#id17">3.1.2</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#id18">3.1.1</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#id19">3.1.0</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#id20">3.0.5</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#id21">3.0.4</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#id22">3.0.3</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#id23">3.0.2</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#id24">3.0.1</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#versioning">Versioning</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Contributing to Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">Frequently Asked Questions</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Third-Party Plugins</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li>
-</ul>
-
-            
-            
-          </div><!--/.nav-collapse -->
-        </div>
-      </div>
-    </div>
-    <div class="col-md-8">
-      <div class="content doc-content">
-        <div class="content-container">
-          
-  <div class="section" id="changes">
-<h1>Changes<a class="headerlink" href="#changes" title="Permalink to this headline">¶</a></h1>
-<p>The following describes the changes in each version of CQL.</p>
-<div class="section" id="id1">
-<h2>3.4.5<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h2>
-<ul class="simple">
-<li>Adds support for arithmetic operators (<a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-11935">CASSANDRA-11935</a>)</li>
-<li>Adds support for <code class="docutils literal notranslate"><span class="pre">+</span></code> and <code class="docutils literal notranslate"><span class="pre">-</span></code> operations on dates (<a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-11936">CASSANDRA-11936</a>)</li>
-<li>Adds <code class="docutils literal notranslate"><span class="pre">currentTimestamp</span></code>, <code class="docutils literal notranslate"><span class="pre">currentDate</span></code>, <code class="docutils literal notranslate"><span class="pre">currentTime</span></code> and <code class="docutils literal notranslate"><span class="pre">currentTimeUUID</span></code> functions (<a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-13132">CASSANDRA-13132</a>)</li>
-</ul>
-</div>
-<div class="section" id="id2">
-<h2>3.4.4<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h2>
-<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">ALTER</span> <span class="pre">TABLE</span></code> <code class="docutils literal notranslate"><span class="pre">ALTER</span></code> has been removed; a column’s type may not be changed after creation (<a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-12443">CASSANDRA-12443</a>).</li>
-<li><code class="docutils literal notranslate"><span class="pre">ALTER</span> <span class="pre">TYPE</span></code> <code class="docutils literal notranslate"><span class="pre">ALTER</span></code> has been removed; a field’s type may not be changed after creation (<a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-12443">CASSANDRA-12443</a>).</li>
-</ul>
-</div>
-<div class="section" id="id3">
-<h2>3.4.3<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h2>
-<ul class="simple">
-<li>Adds a new <a href="#id4"><span class="problematic" id="id5">``</span></a>duration `` <a class="reference internal" href="types.html#data-types"><span class="std std-ref">data types</span></a> (<a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-11873">CASSANDRA-11873</a>).</li>
-<li>Support for <code class="docutils literal notranslate"><span class="pre">GROUP</span> <span class="pre">BY</span></code> (<a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-10707">CASSANDRA-10707</a>).</li>
-<li>Adds a <code class="docutils literal notranslate"><span class="pre">DEFAULT</span> <span class="pre">UNSET</span></code> option for <code class="docutils literal notranslate"><span class="pre">INSERT</span> <span class="pre">JSON</span></code> to ignore omitted columns (<a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-11424">CASSANDRA-11424</a>).</li>
-<li>Allows <code class="docutils literal notranslate"><span class="pre">null</span></code> as a legal value for TTL on insert and update. It will be treated as equivalent to inserting a 0 (<a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-12216">CASSANDRA-12216</a>).</li>
-</ul>
-</div>
-<div class="section" id="id6">
-<h2>3.4.2<a class="headerlink" href="#id6" title="Permalink to this headline">¶</a></h2>
-<ul class="simple">
-<li>If a table has a non zero <code class="docutils literal notranslate"><span class="pre">default_time_to_live</span></code>, then explicitly specifying a TTL of 0 in an <code class="docutils literal notranslate"><span class="pre">INSERT</span></code> or
-<code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> statement will result in the new writes not having any expiration (that is, an explicit TTL of 0 cancels
-the <code class="docutils literal notranslate"><span class="pre">default_time_to_live</span></code>). This wasn’t the case before and the <code class="docutils literal notranslate"><span class="pre">default_time_to_live</span></code> was applied even though a
-TTL had been explicitly set.</li>
-<li><code class="docutils literal notranslate"><span class="pre">ALTER</span> <span class="pre">TABLE</span></code> <code class="docutils literal notranslate"><span class="pre">ADD</span></code> and <code class="docutils literal notranslate"><span class="pre">DROP</span></code> now allow multiple columns to be added/removed.</li>
-<li>New <code class="docutils literal notranslate"><span class="pre">PER</span> <span class="pre">PARTITION</span> <span class="pre">LIMIT</span></code> option for <code class="docutils literal notranslate"><span class="pre">SELECT</span></code> statements (see <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-7017)">CASSANDRA-7017</a>.</li>
-<li><a class="reference internal" href="functions.html#cql-functions"><span class="std std-ref">User-defined functions</span></a> can now instantiate <code class="docutils literal notranslate"><span class="pre">UDTValue</span></code> and <code class="docutils literal notranslate"><span class="pre">TupleValue</span></code> instances via the
-new <code class="docutils literal notranslate"><span class="pre">UDFContext</span></code> interface (see <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-10818)">CASSANDRA-10818</a>.</li>
-<li><a class="reference internal" href="types.html#udts"><span class="std std-ref">User-defined types</span></a> may now be stored in a non-frozen form, allowing individual fields to be updated and
-deleted in <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> statements and <code class="docutils literal notranslate"><span class="pre">DELETE</span></code> statements, respectively. (<a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-7423)">CASSANDRA-7423</a>).</li>
-</ul>
-</div>
-<div class="section" id="id7">
-<h2>3.4.1<a class="headerlink" href="#id7" title="Permalink to this headline">¶</a></h2>
-<ul class="simple">
-<li>Adds <code class="docutils literal notranslate"><span class="pre">CAST</span></code> functions.</li>
-</ul>
-</div>
-<div class="section" id="id8">
-<h2>3.4.0<a class="headerlink" href="#id8" title="Permalink to this headline">¶</a></h2>
-<ul class="simple">
-<li>Support for <a class="reference internal" href="mvs.html#materialized-views"><span class="std std-ref">materialized views</span></a>.</li>
-<li><code class="docutils literal notranslate"><span class="pre">DELETE</span></code> support for inequality expressions and <code class="docutils literal notranslate"><span class="pre">IN</span></code> restrictions on any primary key columns.</li>
-<li><code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> support for <code class="docutils literal notranslate"><span class="pre">IN</span></code> restrictions on any primary key columns.</li>
-</ul>
-</div>
-<div class="section" id="id9">
-<h2>3.3.1<a class="headerlink" href="#id9" title="Permalink to this headline">¶</a></h2>
-<ul class="simple">
-<li>The syntax <code class="docutils literal notranslate"><span class="pre">TRUNCATE</span> <span class="pre">TABLE</span> <span class="pre">X</span></code> is now accepted as an alias for <code class="docutils literal notranslate"><span class="pre">TRUNCATE</span> <span class="pre">X</span></code>.</li>
-</ul>
-</div>
-<div class="section" id="id10">
-<h2>3.3.0<a class="headerlink" href="#id10" title="Permalink to this headline">¶</a></h2>
-<ul class="simple">
-<li><a class="reference internal" href="functions.html#cql-functions"><span class="std std-ref">User-defined functions and aggregates</span></a> are now supported.</li>
-<li>Allows double-dollar enclosed strings literals as an alternative to single-quote enclosed strings.</li>
-<li>Introduces Roles to supersede user based authentication and access control</li>
-<li>New <code class="docutils literal notranslate"><span class="pre">date</span></code>, <code class="docutils literal notranslate"><span class="pre">time</span></code>, <code class="docutils literal notranslate"><span class="pre">tinyint</span></code> and <code class="docutils literal notranslate"><span class="pre">smallint</span></code> <a class="reference internal" href="types.html#data-types"><span class="std std-ref">data types</span></a> have been added.</li>
-<li><a class="reference internal" href="json.html#cql-json"><span class="std std-ref">JSON support</span></a> has been added</li>
-<li>Adds new time conversion functions and deprecate <code class="docutils literal notranslate"><span class="pre">dateOf</span></code> and <code class="docutils literal notranslate"><span class="pre">unixTimestampOf</span></code>.</li>
-</ul>
-</div>
-<div class="section" id="id11">
-<h2>3.2.0<a class="headerlink" href="#id11" title="Permalink to this headline">¶</a></h2>
-<ul class="simple">
-<li><a class="reference internal" href="types.html#udts"><span class="std std-ref">User-defined types</span></a> supported.</li>
-<li><code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">INDEX</span></code> now supports indexing collection columns, including indexing the keys of map collections through the
-<code class="docutils literal notranslate"><span class="pre">keys()</span></code> function</li>
-<li>Indexes on collections may be queried using the new <code class="docutils literal notranslate"><span class="pre">CONTAINS</span></code> and <code class="docutils literal notranslate"><span class="pre">CONTAINS</span> <span class="pre">KEY</span></code> operators</li>
-<li><a class="reference internal" href="types.html#tuples"><span class="std std-ref">Tuple types</span></a> were added to hold fixed-length sets of typed positional fields.</li>
-<li><code class="docutils literal notranslate"><span class="pre">DROP</span> <span class="pre">INDEX</span></code> now supports optionally specifying a keyspace.</li>
-</ul>
-</div>
-<div class="section" id="id12">
-<h2>3.1.7<a class="headerlink" href="#id12" title="Permalink to this headline">¶</a></h2>
-<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">SELECT</span></code> statements now support selecting multiple rows in a single partition using an <code class="docutils literal notranslate"><span class="pre">IN</span></code> clause on combinations
-of clustering columns.</li>
-<li><code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXISTS</span></code> and <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">EXISTS</span></code> syntax is now supported by <code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">USER</span></code> and <code class="docutils literal notranslate"><span class="pre">DROP</span> <span class="pre">U [...]
-respectively.</li>
-</ul>
-</div>
-<div class="section" id="id13">
-<h2>3.1.6<a class="headerlink" href="#id13" title="Permalink to this headline">¶</a></h2>
-<ul class="simple">
-<li>A new <code class="docutils literal notranslate"><span class="pre">uuid()</span></code> method has been added.</li>
-<li>Support for <code class="docutils literal notranslate"><span class="pre">DELETE</span> <span class="pre">...</span> <span class="pre">IF</span> <span class="pre">EXISTS</span></code> syntax.</li>
-</ul>
-</div>
-<div class="section" id="id14">
-<h2>3.1.5<a class="headerlink" href="#id14" title="Permalink to this headline">¶</a></h2>
-<ul class="simple">
-<li>It is now possible to group clustering columns in a relation, see <a class="reference internal" href="dml.html#where-clause"><span class="std std-ref">WHERE</span></a> clauses.</li>
-<li>Added support for <a class="reference internal" href="ddl.html#static-columns"><span class="std std-ref">static columns</span></a>.</li>
-</ul>
-</div>
-<div class="section" id="id15">
-<h2>3.1.4<a class="headerlink" href="#id15" title="Permalink to this headline">¶</a></h2>
-<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">INDEX</span></code> now allows specifying options when creating CUSTOM indexes.</li>
-</ul>
-</div>
-<div class="section" id="id16">
-<h2>3.1.3<a class="headerlink" href="#id16" title="Permalink to this headline">¶</a></h2>
-<ul class="simple">
-<li>Millisecond precision formats have been added to the <a class="reference internal" href="types.html#timestamps"><span class="std std-ref">timestamp</span></a> parser.</li>
-</ul>
-</div>
-<div class="section" id="id17">
-<h2>3.1.2<a class="headerlink" href="#id17" title="Permalink to this headline">¶</a></h2>
-<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">NaN</span></code> and <code class="docutils literal notranslate"><span class="pre">Infinity</span></code> has been added as valid float constants. They are now reserved keywords. In the unlikely case
-you we using them as a column identifier (or keyspace/table one), you will now need to double quote them.</li>
-</ul>
-</div>
-<div class="section" id="id18">
-<h2>3.1.1<a class="headerlink" href="#id18" title="Permalink to this headline">¶</a></h2>
-<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">SELECT</span></code> statement now allows listing the partition keys (using the <code class="docutils literal notranslate"><span class="pre">DISTINCT</span></code> modifier). See <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-4536">CASSANDRA-4536</a>.</li>
-<li>The syntax <code class="docutils literal notranslate"><span class="pre">c</span> <span class="pre">IN</span> <span class="pre">?</span></code> is now supported in <code class="docutils literal notranslate"><span class="pre">WHERE</span></code> clauses. In that case, the value expected for the bind variable
-will be a list of whatever type <code class="docutils literal notranslate"><span class="pre">c</span></code> is.</li>
-<li>It is now possible to use named bind variables (using <code class="docutils literal notranslate"><span class="pre">:name</span></code> instead of <code class="docutils literal notranslate"><span class="pre">?</span></code>).</li>
-</ul>
-</div>
-<div class="section" id="id19">
-<h2>3.1.0<a class="headerlink" href="#id19" title="Permalink to this headline">¶</a></h2>
-<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">ALTER</span> <span class="pre">TABLE</span></code> <code class="docutils literal notranslate"><span class="pre">DROP</span></code> option added.</li>
-<li><code class="docutils literal notranslate"><span class="pre">SELECT</span></code> statement now supports aliases in select clause. Aliases in WHERE and ORDER BY clauses are not supported.</li>
-<li><code class="docutils literal notranslate"><span class="pre">CREATE</span></code> statements for <code class="docutils literal notranslate"><span class="pre">KEYSPACE</span></code>, <code class="docutils literal notranslate"><span class="pre">TABLE</span></code> and <code class="docutils literal notranslate"><span class="pre">INDEX</span></code> now supports an <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXISTS [...]
-Similarly, <code class="docutils literal notranslate"><span class="pre">DROP</span></code> statements support a <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">EXISTS</span></code> condition.</li>
-<li><code class="docutils literal notranslate"><span class="pre">INSERT</span></code> statements optionally supports a <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXISTS</span></code> condition and <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> supports <code class="docutils literal notranslate"><span class="pre">IF</span></code> conditions.</li>
-</ul>
-</div>
-<div class="section" id="id20">
-<h2>3.0.5<a class="headerlink" href="#id20" title="Permalink to this headline">¶</a></h2>
-<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">SELECT</span></code>, <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code>, and <code class="docutils literal notranslate"><span class="pre">DELETE</span></code> statements now allow empty <code class="docutils literal notranslate"><span class="pre">IN</span></code> relations (see <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-5626)">CASSANDRA-5626</a>.</li>
-</ul>
-</div>
-<div class="section" id="id21">
-<h2>3.0.4<a class="headerlink" href="#id21" title="Permalink to this headline">¶</a></h2>
-<ul class="simple">
-<li>Updated the syntax for custom <a class="reference internal" href="indexes.html#secondary-indexes"><span class="std std-ref">secondary indexes</span></a>.</li>
-<li>Non-equal condition on the partition key are now never supported, even for ordering partitioner as this was not
-correct (the order was <strong>not</strong> the one of the type of the partition key). Instead, the <code class="docutils literal notranslate"><span class="pre">token</span></code> method should always
-be used for range queries on the partition key (see <a class="reference internal" href="dml.html#where-clause"><span class="std std-ref">WHERE clauses</span></a>).</li>
-</ul>
-</div>
-<div class="section" id="id22">
-<h2>3.0.3<a class="headerlink" href="#id22" title="Permalink to this headline">¶</a></h2>
-<ul class="simple">
-<li>Support for custom <a class="reference internal" href="indexes.html#secondary-indexes"><span class="std std-ref">secondary indexes</span></a> has been added.</li>
-</ul>
-</div>
-<div class="section" id="id23">
-<h2>3.0.2<a class="headerlink" href="#id23" title="Permalink to this headline">¶</a></h2>
-<ul class="simple">
-<li>Type validation for the <a class="reference internal" href="definitions.html#constants"><span class="std std-ref">constants</span></a> has been fixed. For instance, the implementation used to allow
-<code class="docutils literal notranslate"><span class="pre">'2'</span></code> as a valid value for an <code class="docutils literal notranslate"><span class="pre">int</span></code> column (interpreting it has the equivalent of <code class="docutils literal notranslate"><span class="pre">2</span></code>), or <code class="docutils literal notranslate"><span class="pre">42</span></code> as a valid
-<code class="docutils literal notranslate"><span class="pre">blob</span></code> value (in which case <code class="docutils literal notranslate"><span class="pre">42</span></code> was interpreted as an hexadecimal representation of the blob). This is no longer
-the case, type validation of constants is now more strict. See the <a class="reference internal" href="types.html#data-types"><span class="std std-ref">data types</span></a> section for details
-on which constant is allowed for which type.</li>
-<li>The type validation fixed of the previous point has lead to the introduction of blobs constants to allow the input of
-blobs. Do note that while the input of blobs as strings constant is still supported by this version (to allow smoother
-transition to blob constant), it is now deprecated and will be removed by a future version. If you were using strings
-as blobs, you should thus update your client code ASAP to switch blob constants.</li>
-<li>A number of functions to convert native types to blobs have also been introduced. Furthermore the token function is
-now also allowed in select clauses. See the <a class="reference internal" href="functions.html#cql-functions"><span class="std std-ref">section on functions</span></a> for details.</li>
-</ul>
-</div>
-<div class="section" id="id24">
-<h2>3.0.1<a class="headerlink" href="#id24" title="Permalink to this headline">¶</a></h2>
-<ul class="simple">
-<li>Date strings (and timestamps) are no longer accepted as valid <code class="docutils literal notranslate"><span class="pre">timeuuid</span></code> values. Doing so was a bug in the sense
-that date string are not valid <code class="docutils literal notranslate"><span class="pre">timeuuid</span></code>, and it was thus resulting in <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-4936">confusing behaviors</a>. However, the following new methods have been added to help
-working with <code class="docutils literal notranslate"><span class="pre">timeuuid</span></code>: <code class="docutils literal notranslate"><span class="pre">now</span></code>, <code class="docutils literal notranslate"><span class="pre">minTimeuuid</span></code>, <code class="docutils literal notranslate"><span class="pre">maxTimeuuid</span></code> ,
-<code class="docutils literal notranslate"><span class="pre">dateOf</span></code> and <code class="docutils literal notranslate"><span class="pre">unixTimestampOf</span></code>.</li>
-<li>Float constants now support the exponent notation. In other words, <code class="docutils literal notranslate"><span class="pre">4.2E10</span></code> is now a valid floating point value.</li>
-</ul>
-</div>
-<div class="section" id="versioning">
-<h2>Versioning<a class="headerlink" href="#versioning" title="Permalink to this headline">¶</a></h2>
-<p>Versioning of the CQL language adheres to the <a class="reference external" href="http://semver.org">Semantic Versioning</a> guidelines. Versions take the
-form X.Y.Z where X, Y, and Z are integer values representing major, minor, and patch level respectively. There is no
-correlation between Cassandra release versions and the CQL language version.</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="8%" />
-<col width="92%" />
-</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">version</th>
-<th class="head">description</th>
-</tr>
-</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Major</td>
-<td>The major version <em>must</em> be bumped when backward incompatible changes are introduced. This should rarely
-occur.</td>
-</tr>
-<tr class="row-odd"><td>Minor</td>
-<td>Minor version increments occur when new, but backward compatible, functionality is introduced.</td>
-</tr>
-<tr class="row-even"><td>Patch</td>
-<td>The patch version is incremented when bugs are fixed.</td>
-</tr>
-</tbody>
-</table>
-</div>
-</div>
-
-
-
-          
-          <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation">
-            
-            <a href="../configuration/index.html" class="btn btn-default pull-right " role="button" title="Configuring Cassandra" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
-            
-            
-            <a href="appendices.html" class="btn btn-default" role="button" title="Appendices" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
-            
-          </div>
-          
-        </div>
-      </div>
-    </div>
-  </div>
-</div>
-
-    <hr />
-
-<footer>
-  <div class="container">
-    <div class="col-md-4 social-blk">
-      <span class="social">
-        <a href="https://twitter.com/cassandra"
-           class="twitter-follow-button"
-           data-show-count="false" data-size="large">Follow @cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-        <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
-           class="twitter-hashtag-button"
-           data-size="large"
-           data-related="ApacheCassandra">Tweet #cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-
-      </span>
-      <a class="subscribe-rss icon-link" href="/feed.xml" title="Subscribe to Blog via RSS">
-          <span><i class="fa fa-rss"></i></span>
-      </a>
-    </div>
-
-    <div class="col-md-8 trademark">
-      <p>&copy; 2016 <a href="http://apache.org">The Apache Software Foundation</a>.
-      Apache, the Apache feather logo, and Apache Cassandra are trademarks of The Apache Software Foundation.
-      <p>
-    </div>
-  </div><!-- /.container -->
-</footer>
-
-<!-- Javascript. Placed here so pages load faster -->
-<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
-<script src="./../../../js/underscore-min.js"></script>
-<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
-
-
-<script src="./../../../js/doctools.js"></script>
-<script src="./../../../js/searchtools.js"></script>
-
- <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:    "", VERSION:     "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE:  false, SOURCELINK_SUFFIX: ".txt" }; </script> 
-
-
-
-<script type="text/javascript">
-  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
-  document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
-
-  try {
-    var pageTracker = _gat._getTracker("UA-11583863-1");
-    pageTracker._trackPageview();
-  } catch(err) {}
-</script>
-
-
-  </body>
-</html>
diff --git a/content/doc/4.0/cql/ddl.html b/content/doc/4.0/cql/ddl.html
deleted file mode 100644
index 2436a45..0000000
--- a/content/doc/4.0/cql/ddl.html
+++ /dev/null
@@ -1,981 +0,0 @@
-<!DOCTYPE html>
-<html>
-  
-
-
-
-<head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="description" content="The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive r [...]
-">
-  <meta name="keywords" content="cassandra, apache, apache cassandra, distributed storage, key value store, scalability, bigtable, dynamo" />
-  <meta name="robots" content="index,follow" />
-  <meta name="language" content="en" />  
-
-  <title>Documentation</title>
-
-  <link rel="canonical" href="http://cassandra.apache.org/doc/4.0/cql/ddl.html">
-
-  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
-  <link rel="stylesheet" href="./../../../css/style.css">
-  
-  <link rel="stylesheet" href="./../../../css/sphinx.css">
-  
-
-   <link rel="top" title="Apache Cassandra Documentation v4.0" href="../index.html"/> <link rel="up" title="The Cassandra Query Language (CQL)" href="index.html"/> <link rel="next" title="Data Manipulation" href="dml.html"/> <link rel="prev" title="Data Types" href="types.html"/> 
-  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
-  
-  <link type="application/atom+xml" rel="alternate" href="http://cassandra.apache.org/feed.xml" title="Apache Cassandra Website" />
-</head>
-
-  <body>
-    <!-- breadcrumbs -->
-<div class="topnav">
-  <div class="container breadcrumb-container">
-    <ul class="breadcrumb">
-      <li>
-        <div class="dropdown">
-          <img class="asf-logo" src="./../../../img/asf_feather.png" />
-          <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
-          <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
-            <li><a href="http://www.apache.org">Apache Homepage</a></li>
-            <li><a href="http://www.apache.org/licenses/">License</a></li>
-            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
-            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
-            <li><a href="http://www.apache.org/security/">Security</a></li>
-          </ul>
-        </div>
-      </li>
-
-      
-      <li><a href="./../../../">Apache Cassandra</a></li>
-      
-
-      
-        
-        <li><a href="./../../../doc">Documentation</a></li>
-        
-      
-
-      
-      <li><a href="./">The Cassandra Query Language (CQL)</a></li>
-      
-
-      
-      <li>Data Definition</li>
-      
-    </ul>
-  </div>
-
-  <!-- navbar -->
-  <nav class="navbar navbar-default navbar-static-top" role="navigation">
-    <div class="container">
-      <div class="navbar-header">
-        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
-          <span class="sr-only">Toggle navigation</span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-        </button>
-        <a class="navbar-brand" href="./../../../"><img src="./../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
-      </div><!-- /.navbar-header -->
-
-      <div id="cassandra-menu" class="collapse navbar-collapse">
-        <ul class="nav navbar-nav navbar-right">
-          <li><a href="./../../../">Home</a></li>
-          <li><a href="./../../../download/">Download</a></li>
-          <li><a href="./../../../doc/">Documentation</a></li>
-          <li><a href="./../../../community/">Community</a></li>
-          <li>
-            <a href="./../../../blog/">Blog</a>
-        </li>
-        </ul>
-      </div><!-- /#cassandra-menu -->
-
-      
-    </div>
-  </nav><!-- /.navbar -->
-</div><!-- /.topnav -->
-
-    <div class="container-fluid">
-  <div class="row">
-    <div class="col-md-3">
-      <div class="doc-navigation">
-        <div class="doc-menu" role="navigation">
-          <div class="navbar-header">
-            <button type="button" class="pull-left navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse">
-              <span class="sr-only">Toggle navigation</span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-            </button>
-          </div>
-          <div class="navbar-collapse collapse sidebar-navbar-collapse">
-            <form id="doc-search-form" class="navbar-form" action="../search.html" method="get" role="search">
-              <div class="form-group">
-                <input type="text" size="30" class="form-control input-sm" name="q" placeholder="Search docs">
-                <input type="hidden" name="check_keywords" value="yes" />
-                <input type="hidden" name="area" value="default" />
-              </div>
-            </form>
-            
-            
-            
-            <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
-<li class="toctree-l1 current"><a class="reference internal" href="index.html">The Cassandra Query Language (CQL)</a><ul class="current">
-<li class="toctree-l2"><a class="reference internal" href="definitions.html">Definitions</a></li>
-<li class="toctree-l2"><a class="reference internal" href="types.html">Data Types</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Data Definition</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#common-definitions">Common definitions</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#create-keyspace">CREATE KEYSPACE</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#use">USE</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#alter-keyspace">ALTER KEYSPACE</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#drop-keyspace">DROP KEYSPACE</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#create-table">CREATE TABLE</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#alter-table">ALTER TABLE</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#drop-table">DROP TABLE</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#truncate">TRUNCATE</a></li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="dml.html">Data Manipulation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="indexes.html">Secondary Indexes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="mvs.html">Materialized Views</a></li>
-<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
-<li class="toctree-l2"><a class="reference internal" href="functions.html">Functions</a></li>
-<li class="toctree-l2"><a class="reference internal" href="operators.html">Arithmetic Operators</a></li>
-<li class="toctree-l2"><a class="reference internal" href="json.html">JSON Support</a></li>
-<li class="toctree-l2"><a class="reference internal" href="triggers.html">Triggers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="appendices.html">Appendices</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html">Changes</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Contributing to Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">Frequently Asked Questions</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Third-Party Plugins</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li>
-</ul>
-
-            
-            
-          </div><!--/.nav-collapse -->
-        </div>
-      </div>
-    </div>
-    <div class="col-md-8">
-      <div class="content doc-content">
-        <div class="content-container">
-          
-  <div class="section" id="data-definition">
-<span id="id1"></span><h1>Data Definition<a class="headerlink" href="#data-definition" title="Permalink to this headline">¶</a></h1>
-<p>CQL stores data in <em>tables</em>, whose schema defines the layout of said data in the table, and those tables are grouped in
-<em>keyspaces</em>. A keyspace defines a number of options that applies to all the tables it contains, most prominently of
-which is the <a class="reference internal" href="../architecture/dynamo.html#replication-strategy"><span class="std std-ref">replication strategy</span></a> used by the keyspace. It is generally encouraged to use
-one keyspace by <em>application</em>, and thus many cluster may define only one keyspace.</p>
-<p>This section describes the statements used to create, modify, and remove those keyspace and tables.</p>
-<div class="section" id="common-definitions">
-<h2>Common definitions<a class="headerlink" href="#common-definitions" title="Permalink to this headline">¶</a></h2>
-<p>The names of the keyspaces and tables are defined by the following grammar:</p>
-<pre>
-<strong id="grammar-token-keyspace-name">keyspace_name</strong> ::=  <a class="reference internal" href="#grammar-token-name"><code class="xref docutils literal notranslate"><span class="pre">name</span></code></a>
-<strong id="grammar-token-table-name">table_name   </strong> ::=  [ <a class="reference internal" href="#grammar-token-keyspace-name"><code class="xref docutils literal notranslate"><span class="pre">keyspace_name</span></code></a> '.' ] <a class="reference internal" href="#grammar-token-name"><code class="xref docutils literal notranslate"><span class="pre">name</span></code></a>
-<strong id="grammar-token-name">name         </strong> ::=  <a class="reference internal" href="#grammar-token-unquoted-name"><code class="xref docutils literal notranslate"><span class="pre">unquoted_name</span></code></a> | <a class="reference internal" href="#grammar-token-quoted-name"><code class="xref docutils literal notranslate"><span class="pre">quoted_name</span></code></a>
-<strong id="grammar-token-unquoted-name">unquoted_name</strong> ::=  re('[a-zA-Z_0-9]{1, 48}')
-<strong id="grammar-token-quoted-name">quoted_name  </strong> ::=  '&quot;' <a class="reference internal" href="#grammar-token-unquoted-name"><code class="xref docutils literal notranslate"><span class="pre">unquoted_name</span></code></a> '&quot;'
-</pre>
-<p>Both keyspace and table name should be comprised of only alphanumeric characters, cannot be empty and are limited in
-size to 48 characters (that limit exists mostly to avoid filenames (which may include the keyspace and table name) to go
-over the limits of certain file systems). By default, keyspace and table names are case insensitive (<code class="docutils literal notranslate"><span class="pre">myTable</span></code> is
-equivalent to <code class="docutils literal notranslate"><span class="pre">mytable</span></code>) but case sensitivity can be forced by using double-quotes (<code class="docutils literal notranslate"><span class="pre">&quot;myTable&quot;</span></code> is different from
-<code class="docutils literal notranslate"><span class="pre">mytable</span></code>).</p>
-<p>Further, a table is always part of a keyspace and a table name can be provided fully-qualified by the keyspace it is
-part of. If is is not fully-qualified, the table is assumed to be in the <em>current</em> keyspace (see <a class="reference internal" href="#use-statement"><span class="std std-ref">USE statement</span></a>).</p>
-<p>Further, the valid names for columns is simply defined as:</p>
-<pre>
-<strong id="grammar-token-column-name">column_name</strong> ::=  <a class="reference internal" href="definitions.html#grammar-token-identifier"><code class="xref docutils literal notranslate"><span class="pre">identifier</span></code></a>
-</pre>
-<p>We also define the notion of statement options for use in the following section:</p>
-<pre>
-<strong id="grammar-token-options">options</strong> ::=  <a class="reference internal" href="#grammar-token-option"><code class="xref docutils literal notranslate"><span class="pre">option</span></code></a> ( AND <a class="reference internal" href="#grammar-token-option"><code class="xref docutils literal notranslate"><span class="pre">option</span></code></a> )*
-<strong id="grammar-token-option">option </strong> ::=  <a class="reference internal" href="definitions.html#grammar-token-identifier"><code class="xref docutils literal notranslate"><span class="pre">identifier</span></code></a> '=' ( <a class="reference internal" href="definitions.html#grammar-token-identifier"><code class="xref docutils literal notranslate"><span class="pre">identifier</span></code></a> | <a class="reference internal" href="definitions.html#grammar-token-constant"><co [...]
-</pre>
-</div>
-<div class="section" id="create-keyspace">
-<span id="create-keyspace-statement"></span><h2>CREATE KEYSPACE<a class="headerlink" href="#create-keyspace" title="Permalink to this headline">¶</a></h2>
-<p>A keyspace is created using a <code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">KEYSPACE</span></code> statement:</p>
-<pre>
-<strong id="grammar-token-create-keyspace-statement">create_keyspace_statement</strong> ::=  CREATE KEYSPACE [ IF NOT EXISTS ] <a class="reference internal" href="#grammar-token-keyspace-name"><code class="xref docutils literal notranslate"><span class="pre">keyspace_name</span></code></a> WITH <a class="reference internal" href="#grammar-token-options"><code class="xref docutils literal notranslate"><span class="pre">options</span></code></a>
-</pre>
-<p>For instance:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">KEYSPACE</span> <span class="n">excelsior</span>
-    <span class="k">WITH</span> <span class="n">replication</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;class&#39;</span><span class="p">:</span> <span class="s1">&#39;SimpleStrategy&#39;</span><span class="p">,</span> <span class="s1">&#39;replication_factor&#39;</span> <span class="p">:</span> <span class="mf">3</span><span class="p">};</span>
-
-<span class="k">CREATE</span> <span class="k">KEYSPACE</span> <span class="n">excalibur</span>
-    <span class="k">WITH</span> <span class="n">replication</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;class&#39;</span><span class="p">:</span> <span class="s1">&#39;NetworkTopologyStrategy&#39;</span><span class="p">,</span> <span class="s1">&#39;DC1&#39;</span> <span class="p">:</span> <span class="mf">1</span><span class="p">,</span> <span class="s1">&#39;DC2&#39;</span> <span class="p">:</span> <span class="mf">3</span><span class="p">}</span>
-    <span class="k">AND</span> <span class="n">durable_writes</span> <span class="o">=</span> <span class="n">false</span><span class="p">;</span>
-</pre></div>
-</div>
-<p>Attempting to create a keyspace that already exists will return an error unless the <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXISTS</span></code> option is used. If
-it is used, the statement will be a no-op if the keyspace already exists.</p>
-<p>The supported <code class="docutils literal notranslate"><span class="pre">options</span></code> are:</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="16%" />
-<col width="9%" />
-<col width="9%" />
-<col width="8%" />
-<col width="58%" />
-</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">name</th>
-<th class="head">kind</th>
-<th class="head">mandatory</th>
-<th class="head">default</th>
-<th class="head">description</th>
-</tr>
-</thead>
-<tbody valign="top">
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">replication</span></code></td>
-<td><em>map</em></td>
-<td>yes</td>
-<td>&#160;</td>
-<td>The replication strategy and options to use for the keyspace (see
-details below).</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">durable_writes</span></code></td>
-<td><em>simple</em></td>
-<td>no</td>
-<td>true</td>
-<td>Whether to use the commit log for updates on this keyspace
-(disable this option at your own risk!).</td>
-</tr>
-</tbody>
-</table>
-<p>The <code class="docutils literal notranslate"><span class="pre">replication</span></code> property is mandatory and must at least contains the <code class="docutils literal notranslate"><span class="pre">'class'</span></code> sub-option which defines the
-<a class="reference internal" href="../architecture/dynamo.html#replication-strategy"><span class="std std-ref">replication strategy</span></a> class to use. The rest of the sub-options depends on what replication
-strategy is used. By default, Cassandra support the following <code class="docutils literal notranslate"><span class="pre">'class'</span></code>:</p>
-<div class="section" id="simplestrategy">
-<h3><code class="docutils literal notranslate"><span class="pre">SimpleStrategy</span></code><a class="headerlink" href="#simplestrategy" title="Permalink to this headline">¶</a></h3>
-<p>A simple strategy that defines a replication factor for data to be spread
-across the entire cluster. This is generally not a wise choice for production
-because it does not respect datacenter layouts and can lead to wildly varying
-query latency. For a production ready strategy, see
-<code class="docutils literal notranslate"><span class="pre">NetworkTopologyStrategy</span></code>. <code class="docutils literal notranslate"><span class="pre">SimpleStrategy</span></code> supports a single mandatory argument:</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="30%" />
-<col width="7%" />
-<col width="8%" />
-<col width="54%" />
-</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">sub-option</th>
-<th class="head">type</th>
-<th class="head">since</th>
-<th class="head">description</th>
-</tr>
-</thead>
-<tbody valign="top">
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">'replication_factor'</span></code></td>
-<td>int</td>
-<td>all</td>
-<td>The number of replicas to store per range</td>
-</tr>
-</tbody>
-</table>
-</div>
-<div class="section" id="networktopologystrategy">
-<h3><code class="docutils literal notranslate"><span class="pre">NetworkTopologyStrategy</span></code><a class="headerlink" href="#networktopologystrategy" title="Permalink to this headline">¶</a></h3>
-<p>A production ready replication strategy that allows to set the replication
-factor independently for each data-center. The rest of the sub-options are
-key-value pairs where a key is a data-center name and its value is the
-associated replication factor. Options:</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="39%" />
-<col width="6%" />
-<col width="6%" />
-<col width="48%" />
-</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">sub-option</th>
-<th class="head">type</th>
-<th class="head">since</th>
-<th class="head">description</th>
-</tr>
-</thead>
-<tbody valign="top">
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">'&lt;datacenter&gt;'</span></code></td>
-<td>int</td>
-<td>all</td>
-<td>The number of replicas to store per range in
-the provided datacenter.</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">'replication_factor'</span></code></td>
-<td>int</td>
-<td>4.0</td>
-<td>The number of replicas to use as a default
-per datacenter if not specifically provided.
-Note that this always defers to existing
-definitions or explicit datacenter settings.
-For example, to have three replicas per
-datacenter, supply this with a value of 3.</td>
-</tr>
-</tbody>
-</table>
-<p>Note that when <code class="docutils literal notranslate"><span class="pre">ALTER</span></code> ing keyspaces and supplying <code class="docutils literal notranslate"><span class="pre">replication_factor</span></code>,
-auto-expansion will only <em>add</em> new datacenters for safety, it will not alter
-existing datacenters or remove any even if they are no longer in the cluster.
-If you want to remove datacenters while still supplying <code class="docutils literal notranslate"><span class="pre">replication_factor</span></code>,
-explicitly zero out the datacenter you want to have zero replicas.</p>
-<p>An example of auto-expanding datacenters with two datacenters: <code class="docutils literal notranslate"><span class="pre">DC1</span></code> and <code class="docutils literal notranslate"><span class="pre">DC2</span></code>:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">KEYSPACE</span> <span class="n">excalibur</span>
-    <span class="k">WITH</span> <span class="n">replication</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;class&#39;</span><span class="p">:</span> <span class="s1">&#39;NetworkTopologyStrategy&#39;</span><span class="p">,</span> <span class="s1">&#39;replication_factor&#39;</span> <span class="p">:</span> <span class="mf">3</span><span class="p">}</span>
-
-<span class="k">DESCRIBE</span> <span class="k">KEYSPACE</span> <span class="n">excalibur</span>
-    <span class="k">CREATE</span> <span class="k">KEYSPACE</span> <span class="n">excalibur</span> <span class="k">WITH</span> <span class="n">replication</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;class&#39;</span><span class="p">:</span> <span class="s1">&#39;NetworkTopologyStrategy&#39;</span><span class="p">,</span> <span class="s1">&#39;DC1&#39;</span><span class="p">:</span> <span class="s1">&#39;3&#39;</span><span class="p">,</span> <span class=" [...]
-</pre></div>
-</div>
-<p>An example of auto-expanding and overriding a datacenter:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">KEYSPACE</span> <span class="n">excalibur</span>
-    <span class="k">WITH</span> <span class="n">replication</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;class&#39;</span><span class="p">:</span> <span class="s1">&#39;NetworkTopologyStrategy&#39;</span><span class="p">,</span> <span class="s1">&#39;replication_factor&#39;</span> <span class="p">:</span> <span class="mf">3</span><span class="p">,</span> <span class="s1">&#39;DC2&#39;</span><span class="p">:</span> <span class="mf">2</span><span class="p" [...]
-
-<span class="k">DESCRIBE</span> <span class="k">KEYSPACE</span> <span class="n">excalibur</span>
-    <span class="k">CREATE</span> <span class="k">KEYSPACE</span> <span class="n">excalibur</span> <span class="k">WITH</span> <span class="n">replication</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;class&#39;</span><span class="p">:</span> <span class="s1">&#39;NetworkTopologyStrategy&#39;</span><span class="p">,</span> <span class="s1">&#39;DC1&#39;</span><span class="p">:</span> <span class="s1">&#39;3&#39;</span><span class="p">,</span> <span class=" [...]
-</pre></div>
-</div>
-<p>An example that excludes a datacenter while using <code class="docutils literal notranslate"><span class="pre">replication_factor</span></code>:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">KEYSPACE</span> <span class="n">excalibur</span>
-    <span class="k">WITH</span> <span class="n">replication</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;class&#39;</span><span class="p">:</span> <span class="s1">&#39;NetworkTopologyStrategy&#39;</span><span class="p">,</span> <span class="s1">&#39;replication_factor&#39;</span> <span class="p">:</span> <span class="mf">3</span><span class="p">,</span> <span class="s1">&#39;DC2&#39;</span><span class="p">:</span> <span class="mf">0</span><span class="p" [...]
-
-<span class="k">DESCRIBE</span> <span class="k">KEYSPACE</span> <span class="n">excalibur</span>
-    <span class="k">CREATE</span> <span class="k">KEYSPACE</span> <span class="n">excalibur</span> <span class="k">WITH</span> <span class="n">replication</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;class&#39;</span><span class="p">:</span> <span class="s1">&#39;NetworkTopologyStrategy&#39;</span><span class="p">,</span> <span class="s1">&#39;DC1&#39;</span><span class="p">:</span> <span class="s1">&#39;3&#39;</span><span class="p">}</span> <span class=" [...]
-</pre></div>
-</div>
-<p>If <a class="reference internal" href="../architecture/dynamo.html#transient-replication"><span class="std std-ref">transient replication</span></a> has been enabled, transient replicas can be configured for both
-SimpleStrategy and NetworkTopologyStrategy by defining replication factors in the format <code class="docutils literal notranslate"><span class="pre">'&lt;total_replicas&gt;/&lt;transient_replicas&gt;'</span></code></p>
-<p>For instance, this keyspace will have 3 replicas in DC1, 1 of which is transient, and 5 replicas in DC2, 2 of which are transient:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">KEYSPACE</span> <span class="n">some_keysopace</span>
-           <span class="k">WITH</span> <span class="n">replication</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;class&#39;</span><span class="p">:</span> <span class="s1">&#39;NetworkTopologyStrategy&#39;</span><span class="p">,</span> <span class="s1">&#39;DC1&#39;</span> <span class="p">:</span> <span class="s1">&#39;3/1&#39;&#39;, &#39;</span><span class="n">DC2</span><span class="s1">&#39; : &#39;</span><span class="mf">5</span><span class="o">/</span [...]
-</pre></div>
-</div>
-</div>
-</div>
-<div class="section" id="use">
-<span id="use-statement"></span><h2>USE<a class="headerlink" href="#use" title="Permalink to this headline">¶</a></h2>
-<p>The <code class="docutils literal notranslate"><span class="pre">USE</span></code> statement allows to change the <em>current</em> keyspace (for the <em>connection</em> on which it is executed). A number
-of objects in CQL are bound to a keyspace (tables, user-defined types, functions, …) and the current keyspace is the
-default keyspace used when those objects are referred without a fully-qualified name (that is, without being prefixed a
-keyspace name). A <code class="docutils literal notranslate"><span class="pre">USE</span></code> statement simply takes the keyspace to use as current as argument:</p>
-<pre>
-<strong id="grammar-token-use-statement">use_statement</strong> ::=  USE <a class="reference internal" href="#grammar-token-keyspace-name"><code class="xref docutils literal notranslate"><span class="pre">keyspace_name</span></code></a>
-</pre>
-</div>
-<div class="section" id="alter-keyspace">
-<span id="alter-keyspace-statement"></span><h2>ALTER KEYSPACE<a class="headerlink" href="#alter-keyspace" title="Permalink to this headline">¶</a></h2>
-<p>An <code class="docutils literal notranslate"><span class="pre">ALTER</span> <span class="pre">KEYSPACE</span></code> statement allows to modify the options of a keyspace:</p>
-<pre>
-<strong id="grammar-token-alter-keyspace-statement">alter_keyspace_statement</strong> ::=  ALTER KEYSPACE <a class="reference internal" href="#grammar-token-keyspace-name"><code class="xref docutils literal notranslate"><span class="pre">keyspace_name</span></code></a> WITH <a class="reference internal" href="#grammar-token-options"><code class="xref docutils literal notranslate"><span class="pre">options</span></code></a>
-</pre>
-<p>For instance:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">ALTER</span> <span class="k">KEYSPACE</span> <span class="n">Excelsior</span>
-    <span class="k">WITH</span> <span class="n">replication</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;class&#39;</span><span class="p">:</span> <span class="s1">&#39;SimpleStrategy&#39;</span><span class="p">,</span> <span class="s1">&#39;replication_factor&#39;</span> <span class="p">:</span> <span class="mf">4</span><span class="p">};</span>
-</pre></div>
-</div>
-<p>The supported options are the same than for <a class="reference internal" href="#create-keyspace-statement"><span class="std std-ref">creating a keyspace</span></a>.</p>
-</div>
-<div class="section" id="drop-keyspace">
-<span id="drop-keyspace-statement"></span><h2>DROP KEYSPACE<a class="headerlink" href="#drop-keyspace" title="Permalink to this headline">¶</a></h2>
-<p>Dropping a keyspace can be done using the <code class="docutils literal notranslate"><span class="pre">DROP</span> <span class="pre">KEYSPACE</span></code> statement:</p>
-<pre>
-<strong id="grammar-token-drop-keyspace-statement">drop_keyspace_statement</strong> ::=  DROP KEYSPACE [ IF EXISTS ] <a class="reference internal" href="#grammar-token-keyspace-name"><code class="xref docutils literal notranslate"><span class="pre">keyspace_name</span></code></a>
-</pre>
-<p>For instance:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">DROP</span> <span class="k">KEYSPACE</span> <span class="n">Excelsior</span><span class="p">;</span>
-</pre></div>
-</div>
-<p>Dropping a keyspace results in the immediate, irreversible removal of that keyspace, including all the tables, UTD and
-functions in it, and all the data contained in those tables.</p>
-<p>If the keyspace does not exists, the statement will return an error, unless <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">EXISTS</span></code> is used in which case the
-operation is a no-op.</p>
-</div>
-<div class="section" id="create-table">
-<span id="create-table-statement"></span><h2>CREATE TABLE<a class="headerlink" href="#create-table" title="Permalink to this headline">¶</a></h2>
-<p>Creating a new table uses the <code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">TABLE</span></code> statement:</p>
-<pre>
-<strong id="grammar-token-create-table-statement">create_table_statement</strong> ::=  CREATE TABLE [ IF NOT EXISTS ] <a class="reference internal" href="#grammar-token-table-name"><code class="xref docutils literal notranslate"><span class="pre">table_name</span></code></a>
-                            '('
-                                <a class="reference internal" href="#grammar-token-column-definition"><code class="xref docutils literal notranslate"><span class="pre">column_definition</span></code></a>
-                                ( ',' <a class="reference internal" href="#grammar-token-column-definition"><code class="xref docutils literal notranslate"><span class="pre">column_definition</span></code></a> )*
-                                [ ',' PRIMARY KEY '(' <a class="reference internal" href="#grammar-token-primary-key"><code class="xref docutils literal notranslate"><span class="pre">primary_key</span></code></a> ')' ]
-                            ')' [ WITH <a class="reference internal" href="#grammar-token-table-options"><code class="xref docutils literal notranslate"><span class="pre">table_options</span></code></a> ]
-<strong id="grammar-token-column-definition">column_definition     </strong> ::=  <a class="reference internal" href="#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> <a class="reference internal" href="types.html#grammar-token-cql-type"><code class="xref docutils literal notranslate"><span class="pre">cql_type</span></code></a> [ STATIC ] [ PRIMARY KEY]
-<strong id="grammar-token-primary-key">primary_key           </strong> ::=  <a class="reference internal" href="#grammar-token-partition-key"><code class="xref docutils literal notranslate"><span class="pre">partition_key</span></code></a> [ ',' <a class="reference internal" href="#grammar-token-clustering-columns"><code class="xref docutils literal notranslate"><span class="pre">clustering_columns</span></code></a> ]
-<strong id="grammar-token-partition-key">partition_key         </strong> ::=  <a class="reference internal" href="#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a>
-                            | '(' <a class="reference internal" href="#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> ( ',' <a class="reference internal" href="#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> )* ')'
-<strong id="grammar-token-clustering-columns">clustering_columns    </strong> ::=  <a class="reference internal" href="#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> ( ',' <a class="reference internal" href="#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> )*
-<strong id="grammar-token-table-options">table_options         </strong> ::=  COMPACT STORAGE [ AND <a class="reference internal" href="#grammar-token-table-options"><code class="xref docutils literal notranslate"><span class="pre">table_options</span></code></a> ]
-                            | CLUSTERING ORDER BY '(' <a class="reference internal" href="#grammar-token-clustering-order"><code class="xref docutils literal notranslate"><span class="pre">clustering_order</span></code></a> ')' [ AND <a class="reference internal" href="#grammar-token-table-options"><code class="xref docutils literal notranslate"><span class="pre">table_options</span></code></a> ]
-                            | <a class="reference internal" href="#grammar-token-options"><code class="xref docutils literal notranslate"><span class="pre">options</span></code></a>
-<strong id="grammar-token-clustering-order">clustering_order      </strong> ::=  <a class="reference internal" href="#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> (ASC | DESC) ( ',' <a class="reference internal" href="#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> (ASC | DESC) )*
-</pre>
-<p>For instance:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">TABLE</span> <span class="n">monkeySpecies</span> <span class="p">(</span>
-    <span class="n">species</span> <span class="nb">text</span> <span class="k">PRIMARY</span> <span class="k">KEY</span><span class="p">,</span>
-    <span class="n">common_name</span> <span class="nb">text</span><span class="p">,</span>
-    <span class="n">population</span> <span class="nb">varint</span><span class="p">,</span>
-    <span class="n">average_size</span> <span class="nb">int</span>
-<span class="p">)</span> <span class="k">WITH</span> <span class="n">comment</span><span class="o">=</span><span class="s1">&#39;Important biological records&#39;</span><span class="p">;</span>
-
-<span class="k">CREATE</span> <span class="k">TABLE</span> <span class="n">timeline</span> <span class="p">(</span>
-    <span class="n">userid</span> <span class="nb">uuid</span><span class="p">,</span>
-    <span class="n">posted_month</span> <span class="nb">int</span><span class="p">,</span>
-    <span class="n">posted_time</span> <span class="nb">uuid</span><span class="p">,</span>
-    <span class="n">body</span> <span class="nb">text</span><span class="p">,</span>
-    <span class="n">posted_by</span> <span class="nb">text</span><span class="p">,</span>
-    <span class="k">PRIMARY</span> <span class="k">KEY</span> <span class="p">(</span><span class="n">userid</span><span class="p">,</span> <span class="n">posted_month</span><span class="p">,</span> <span class="n">posted_time</span><span class="p">)</span>
-<span class="p">)</span> <span class="k">WITH</span> <span class="n">compaction</span> <span class="o">=</span> <span class="p">{</span> <span class="s1">&#39;class&#39;</span> <span class="p">:</span> <span class="s1">&#39;LeveledCompactionStrategy&#39;</span> <span class="p">};</span>
-
-<span class="k">CREATE</span> <span class="k">TABLE</span> <span class="n">loads</span> <span class="p">(</span>
-    <span class="n">machine</span> <span class="nb">inet</span><span class="p">,</span>
-    <span class="n">cpu</span> <span class="nb">int</span><span class="p">,</span>
-    <span class="n">mtime</span> <span class="nb">timeuuid</span><span class="p">,</span>
-    <span class="n">load</span> <span class="nb">float</span><span class="p">,</span>
-    <span class="k">PRIMARY</span> <span class="k">KEY</span> <span class="p">((</span><span class="n">machine</span><span class="p">,</span> <span class="n">cpu</span><span class="p">),</span> <span class="n">mtime</span><span class="p">)</span>
-<span class="p">)</span> <span class="k">WITH</span> <span class="k">CLUSTERING</span> <span class="k">ORDER</span> <span class="k">BY</span> <span class="p">(</span><span class="n">mtime</span> <span class="k">DESC</span><span class="p">);</span>
-</pre></div>
-</div>
-<p>A CQL table has a name and is composed of a set of <em>rows</em>. Creating a table amounts to defining which <a class="reference internal" href="#column-definition"><span class="std std-ref">columns</span></a> the rows will be composed, which of those columns compose the <a class="reference internal" href="#primary-key"><span class="std std-ref">primary key</span></a>, as
-well as optional <a class="reference internal" href="#create-table-options"><span class="std std-ref">options</span></a> for the table.</p>
-<p>Attempting to create an already existing table will return an error unless the <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXISTS</span></code> directive is used. If
-it is used, the statement will be a no-op if the table already exists.</p>
-<p>Every rows in a CQL table has a set of predefined columns defined at the time of the table creation (or added later
-using an <a class="reference internal" href="#alter-table-statement"><span class="std std-ref">alter statement</span></a>).</p>
-<p>A <a class="reference internal" href="#grammar-token-column-definition"><code class="xref std std-token docutils literal notranslate"><span class="pre">column_definition</span></code></a> is primarily comprised of the name of the column defined and it’s <a class="reference internal" href="types.html#data-types"><span class="std std-ref">type</span></a>,
-which restrict which values are accepted for that column. Additionally, a column definition can have the following
-modifiers:</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">STATIC</span></code></dt>
-<dd>it declares the column as being a <a class="reference internal" href="#static-columns"><span class="std std-ref">static column</span></a>.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">PRIMARY</span> <span class="pre">KEY</span></code></dt>
-<dd>it declares the column as being the sole component of the <a class="reference internal" href="#primary-key"><span class="std std-ref">primary key</span></a> of the table.</dd>
-</dl>
-<p>Some columns can be declared as <code class="docutils literal notranslate"><span class="pre">STATIC</span></code> in a table definition. A column that is static will be “shared” by all the
-rows belonging to the same partition (having the same <a class="reference internal" href="#partition-key"><span class="std std-ref">partition key</span></a>). For instance:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">TABLE</span> <span class="n">t</span> <span class="p">(</span>
-    <span class="n">pk</span> <span class="nb">int</span><span class="p">,</span>
-    <span class="n">t</span> <span class="nb">int</span><span class="p">,</span>
-    <span class="n">v</span> <span class="nb">text</span><span class="p">,</span>
-    <span class="n">s</span> <span class="nb">text</span> <span class="k">static</span><span class="p">,</span>
-    <span class="k">PRIMARY</span> <span class="k">KEY</span> <span class="p">(</span><span class="n">pk</span><span class="p">,</span> <span class="n">t</span><span class="p">)</span>
-<span class="p">);</span>
-
-<span class="k">INSERT</span> <span class="k">INTO</span> <span class="n">t</span> <span class="p">(</span><span class="n">pk</span><span class="p">,</span> <span class="n">t</span><span class="p">,</span> <span class="n">v</span><span class="p">,</span> <span class="n">s</span><span class="p">)</span> <span class="k">VALUES</span> <span class="p">(</span><span class="mf">0</span><span class="p">,</span> <span class="mf">0</span><span class="p">,</span> <span class="s1">&#39;val0&#39;</s [...]
-<span class="k">INSERT</span> <span class="k">INTO</span> <span class="n">t</span> <span class="p">(</span><span class="n">pk</span><span class="p">,</span> <span class="n">t</span><span class="p">,</span> <span class="n">v</span><span class="p">,</span> <span class="n">s</span><span class="p">)</span> <span class="k">VALUES</span> <span class="p">(</span><span class="mf">0</span><span class="p">,</span> <span class="mf">1</span><span class="p">,</span> <span class="s1">&#39;val1&#39;</s [...]
-
-<span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">t</span><span class="p">;</span>
-   <span class="n">pk</span> <span class="o">|</span> <span class="n">t</span> <span class="o">|</span> <span class="n">v</span>      <span class="o">|</span> <span class="n">s</span>
-  <span class="c1">----+---+--------+-----------</span>
-   <span class="mf">0</span>  <span class="o">|</span> <span class="mf">0</span> <span class="o">|</span> <span class="s1">&#39;val0&#39;</span> <span class="o">|</span> <span class="s1">&#39;static1&#39;</span>
-   <span class="mf">0</span>  <span class="o">|</span> <span class="mf">1</span> <span class="o">|</span> <span class="s1">&#39;val1&#39;</span> <span class="o">|</span> <span class="s1">&#39;static1&#39;</span>
-</pre></div>
-</div>
-<p>As can be seen, the <code class="docutils literal notranslate"><span class="pre">s</span></code> value is the same (<code class="docutils literal notranslate"><span class="pre">static1</span></code>) for both of the row in the partition (the partition key in
-that example being <code class="docutils literal notranslate"><span class="pre">pk</span></code>, both rows are in that same partition): the 2nd insertion has overridden the value for <code class="docutils literal notranslate"><span class="pre">s</span></code>.</p>
-<p>The use of static columns as the following restrictions:</p>
-<ul class="simple">
-<li>tables with the <code class="docutils literal notranslate"><span class="pre">COMPACT</span> <span class="pre">STORAGE</span></code> option (see below) cannot use them.</li>
-<li>a table without clustering columns cannot have static columns (in a table without clustering columns, every partition
-has only one row, and so every column is inherently static).</li>
-<li>only non <code class="docutils literal notranslate"><span class="pre">PRIMARY</span> <span class="pre">KEY</span></code> columns can be static.</li>
-</ul>
-<p>Within a table, a row is uniquely identified by its <code class="docutils literal notranslate"><span class="pre">PRIMARY</span> <span class="pre">KEY</span></code>, and hence all table <strong>must</strong> define a PRIMARY KEY
-(and only one). A <code class="docutils literal notranslate"><span class="pre">PRIMARY</span> <span class="pre">KEY</span></code> definition is composed of one or more of the columns defined in the table.
-Syntactically, the primary key is defined the keywords <code class="docutils literal notranslate"><span class="pre">PRIMARY</span> <span class="pre">KEY</span></code> followed by comma-separated list of the column
-names composing it within parenthesis, but if the primary key has only one column, one can alternatively follow that
-column definition by the <code class="docutils literal notranslate"><span class="pre">PRIMARY</span> <span class="pre">KEY</span></code> keywords. The order of the columns in the primary key definition matter.</p>
-<p>A CQL primary key is composed of 2 parts:</p>
-<ul>
-<li><p class="first">the <a class="reference internal" href="#partition-key"><span class="std std-ref">partition key</span></a> part. It is the first component of the primary key definition. It can be a
-single column or, using additional parenthesis, can be multiple columns. A table always have at least a partition key,
-the smallest possible table definition is:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">TABLE</span> <span class="n">t</span> <span class="p">(</span><span class="n">k</span> <span class="nb">text</span> <span class="k">PRIMARY</span> <span class="k">KEY</span><span class="p">);</span>
-</pre></div>
-</div>
-</li>
-<li><p class="first">the <a class="reference internal" href="#clustering-columns"><span class="std std-ref">clustering columns</span></a>. Those are the columns after the first component of the primary key
-definition, and the order of those columns define the <em>clustering order</em>.</p>
-</li>
-</ul>
-<p>Some example of primary key definition are:</p>
-<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">PRIMARY</span> <span class="pre">KEY</span> <span class="pre">(a)</span></code>: <code class="docutils literal notranslate"><span class="pre">a</span></code> is the partition key and there is no clustering columns.</li>
-<li><code class="docutils literal notranslate"><span class="pre">PRIMARY</span> <span class="pre">KEY</span> <span class="pre">(a,</span> <span class="pre">b,</span> <span class="pre">c)</span></code> : <code class="docutils literal notranslate"><span class="pre">a</span></code> is the partition key and <code class="docutils literal notranslate"><span class="pre">b</span></code> and <code class="docutils literal notranslate"><span class="pre">c</span></code> are the clustering columns.</li>
-<li><code class="docutils literal notranslate"><span class="pre">PRIMARY</span> <span class="pre">KEY</span> <span class="pre">((a,</span> <span class="pre">b),</span> <span class="pre">c)</span></code> : <code class="docutils literal notranslate"><span class="pre">a</span></code> and <code class="docutils literal notranslate"><span class="pre">b</span></code> compose the partition key (this is often called a <em>composite</em> partition
-key) and <code class="docutils literal notranslate"><span class="pre">c</span></code> is the clustering column.</li>
-</ul>
-<p>Within a table, CQL defines the notion of a <em>partition</em>. A partition is simply the set of rows that share the same value
-for their partition key. Note that if the partition key is composed of multiple columns, then rows belong to the same
-partition only they have the same values for all those partition key column. So for instance, given the following table
-definition and content:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">TABLE</span> <span class="n">t</span> <span class="p">(</span>
-    <span class="n">a</span> <span class="nb">int</span><span class="p">,</span>
-    <span class="n">b</span> <span class="nb">int</span><span class="p">,</span>
-    <span class="n">c</span> <span class="nb">int</span><span class="p">,</span>
-    <span class="n">d</span> <span class="nb">int</span><span class="p">,</span>
-    <span class="k">PRIMARY</span> <span class="k">KEY</span> <span class="p">((</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">),</span> <span class="n">c</span><span class="p">,</span> <span class="n">d</span><span class="p">)</span>
-<span class="p">);</span>
-
-<span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">t</span><span class="p">;</span>
-   <span class="n">a</span> <span class="o">|</span> <span class="n">b</span> <span class="o">|</span> <span class="n">c</span> <span class="o">|</span> <span class="n">d</span>
-  <span class="c1">---+---+---+---</span>
-   <span class="mf">0</span> <span class="o">|</span> <span class="mf">0</span> <span class="o">|</span> <span class="mf">0</span> <span class="o">|</span> <span class="mf">0</span>    <span class="c1">// row 1</span>
-   <span class="mf">0</span> <span class="o">|</span> <span class="mf">0</span> <span class="o">|</span> <span class="mf">1</span> <span class="o">|</span> <span class="mf">1</span>    <span class="c1">// row 2</span>
-   <span class="mf">0</span> <span class="o">|</span> <span class="mf">1</span> <span class="o">|</span> <span class="mf">2</span> <span class="o">|</span> <span class="mf">2</span>    <span class="c1">// row 3</span>
-   <span class="mf">0</span> <span class="o">|</span> <span class="mf">1</span> <span class="o">|</span> <span class="mf">3</span> <span class="o">|</span> <span class="mf">3</span>    <span class="c1">// row 4</span>
-   <span class="mf">1</span> <span class="o">|</span> <span class="mf">1</span> <span class="o">|</span> <span class="mf">4</span> <span class="o">|</span> <span class="mf">4</span>    <span class="c1">// row 5</span>
-</pre></div>
-</div>
-<p><code class="docutils literal notranslate"><span class="pre">row</span> <span class="pre">1</span></code> and <code class="docutils literal notranslate"><span class="pre">row</span> <span class="pre">2</span></code> are in the same partition, <code class="docutils literal notranslate"><span class="pre">row</span> <span class="pre">3</span></code> and <code class="docutils literal notranslate"><span class="pre">row</span> <span class="pre">4</span></code> are also in the same partition (but a
-different one) and <code class="docutils literal notranslate"><span class="pre">row</span> <span class="pre">5</span></code> is in yet another partition.</p>
-<p>Note that a table always has a partition key, and that if the table has no <a class="reference internal" href="#clustering-columns"><span class="std std-ref">clustering columns</span></a>, then every partition of that table is only comprised of a single row (since the primary key
-uniquely identifies rows and the primary key is equal to the partition key if there is no clustering columns).</p>
-<p>The most important property of partition is that all the rows belonging to the same partition are guarantee to be stored
-on the same set of replica nodes. In other words, the partition key of a table defines which of the rows will be
-localized together in the Cluster, and it is thus important to choose your partition key wisely so that rows that needs
-to be fetch together are in the same partition (so that querying those rows together require contacting a minimum of
-nodes).</p>
-<p>Please note however that there is a flip-side to this guarantee: as all rows sharing a partition key are guaranteed to
-be stored on the same set of replica node, a partition key that groups too much data can create a hotspot.</p>
-<p>Another useful property of a partition is that when writing data, all the updates belonging to a single partition are
-done <em>atomically</em> and in <em>isolation</em>, which is not the case across partitions.</p>
-<p>The proper choice of the partition key and clustering columns for a table is probably one of the most important aspect
-of data modeling in Cassandra, and it largely impact which queries can be performed, and how efficiently they are.</p>
-<p>The clustering columns of a table defines the clustering order for the partition of that table. For a given
-<a class="reference internal" href="#partition-key"><span class="std std-ref">partition</span></a>, all the rows are physically ordered inside Cassandra by that clustering order. For
-instance, given:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">TABLE</span> <span class="n">t</span> <span class="p">(</span>
-    <span class="n">a</span> <span class="nb">int</span><span class="p">,</span>
-    <span class="n">b</span> <span class="nb">int</span><span class="p">,</span>
-    <span class="n">c</span> <span class="nb">int</span><span class="p">,</span>
-    <span class="k">PRIMARY</span> <span class="k">KEY</span> <span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span>
-<span class="p">);</span>
-
-<span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">t</span><span class="p">;</span>
-   <span class="n">a</span> <span class="o">|</span> <span class="n">b</span> <span class="o">|</span> <span class="n">c</span>
-  <span class="c1">---+---+---</span>
-   <span class="mf">0</span> <span class="o">|</span> <span class="mf">0</span> <span class="o">|</span> <span class="mf">4</span>     <span class="c1">// row 1</span>
-   <span class="mf">0</span> <span class="o">|</span> <span class="mf">1</span> <span class="o">|</span> <span class="mf">9</span>     <span class="c1">// row 2</span>
-   <span class="mf">0</span> <span class="o">|</span> <span class="mf">2</span> <span class="o">|</span> <span class="mf">2</span>     <span class="c1">// row 3</span>
-   <span class="mf">0</span> <span class="o">|</span> <span class="mf">3</span> <span class="o">|</span> <span class="mf">3</span>     <span class="c1">// row 4</span>
-</pre></div>
-</div>
-<p>then the rows (which all belong to the same partition) are all stored internally in the order of the values of their
-<code class="docutils literal notranslate"><span class="pre">b</span></code> column (the order they are displayed above). So where the partition key of the table allows to group rows on the
-same replica set, the clustering columns controls how those rows are stored on the replica. That sorting allows the
-retrieval of a range of rows within a partition (for instance, in the example above, <code class="docutils literal notranslate"><span class="pre">SELECT</span> <span class="pre">*</span> <span class="pre">FROM</span> <span class="pre">t</span> <span class="pre">WHERE</span> <span class="pre">a</span> <span class="pre">=</span> <span class="pre">0</span> <span class="pre">AND</span> <span class="pre">b</span>
-<span class="pre">&gt;</span> <span class="pre">1</span> <span class="pre">and</span> <span class="pre">b</span> <span class="pre">&lt;=</span> <span class="pre">3</span></code>) to be very efficient.</p>
-<p>A CQL table has a number of options that can be set at creation (and, for most of them, <a class="reference internal" href="#alter-table-statement"><span class="std std-ref">altered</span></a> later). These options are specified after the <code class="docutils literal notranslate"><span class="pre">WITH</span></code> keyword.</p>
-<p>Amongst those options, two important ones cannot be changed after creation and influence which queries can be done
-against the table: the <code class="docutils literal notranslate"><span class="pre">COMPACT</span> <span class="pre">STORAGE</span></code> option and the <code class="docutils literal notranslate"><span class="pre">CLUSTERING</span> <span class="pre">ORDER</span></code> option. Those, as well as the other
-options of a table are described in the following sections.</p>
-<div class="admonition warning">
-<p class="first admonition-title">Warning</p>
-<p class="last">Since Cassandra 3.0, compact tables have the exact same layout internally than non compact ones (for the
-same schema obviously), and declaring a table compact <strong>only</strong> creates artificial limitations on the table definition
-and usage. It only exists for historical reason and is preserved for backward compatibility And as <code class="docutils literal notranslate"><span class="pre">COMPACT</span>
-<span class="pre">STORAGE</span></code> cannot, as of Cassandra 4.0, be removed, it is strongly discouraged to create new table with the
-<code class="docutils literal notranslate"><span class="pre">COMPACT</span> <span class="pre">STORAGE</span></code> option.</p>
-</div>
-<p>A <em>compact</em> table is one defined with the <code class="docutils literal notranslate"><span class="pre">COMPACT</span> <span class="pre">STORAGE</span></code> option. This option is only maintained for backward
-compatibility for definitions created before CQL version 3 and shouldn’t be used for new tables. Declaring a
-table with this option creates limitations for the table which are largely arbitrary (and exists for historical
-reasons). Amongst those limitation:</p>
-<ul class="simple">
-<li>a compact table cannot use collections nor static columns.</li>
-<li>if a compact table has at least one clustering column, then it must have <em>exactly</em> one column outside of the primary
-key ones. This imply you cannot add or remove columns after creation in particular.</li>
-<li>a compact table is limited in the indexes it can create, and no materialized view can be created on it.</li>
-</ul>
-<p>The clustering order of a table is defined by the <a class="reference internal" href="#clustering-columns"><span class="std std-ref">clustering columns</span></a> of that table. By
-default, that ordering is based on natural order of those clustering order, but the <code class="docutils literal notranslate"><span class="pre">CLUSTERING</span> <span class="pre">ORDER</span></code> allows to
-change that clustering order to use the <em>reverse</em> natural order for some (potentially all) of the columns.</p>
-<p>The <code class="docutils literal notranslate"><span class="pre">CLUSTERING</span> <span class="pre">ORDER</span></code> option takes the comma-separated list of the clustering column, each with a <code class="docutils literal notranslate"><span class="pre">ASC</span></code> (for
-<em>ascendant</em>, e.g. the natural order) or <code class="docutils literal notranslate"><span class="pre">DESC</span></code> (for <em>descendant</em>, e.g. the reverse natural order). Note in particular
-that the default (if the <code class="docutils literal notranslate"><span class="pre">CLUSTERING</span> <span class="pre">ORDER</span></code> option is not used) is strictly equivalent to using the option with all
-clustering columns using the <code class="docutils literal notranslate"><span class="pre">ASC</span></code> modifier.</p>
-<p>Note that this option is basically a hint for the storage engine to change the order in which it stores the row but it
-has 3 visible consequences:</p>
-<dl class="docutils">
-<dt># it limits which <code class="docutils literal notranslate"><span class="pre">ORDER</span> <span class="pre">BY</span></code> clause are allowed for <a class="reference internal" href="dml.html#select-statement"><span class="std std-ref">selects</span></a> on that table. You can only</dt>
-<dd>order results by the clustering order or the reverse clustering order. Meaning that if a table has 2 clustering column
-<code class="docutils literal notranslate"><span class="pre">a</span></code> and <code class="docutils literal notranslate"><span class="pre">b</span></code> and you defined <code class="docutils literal notranslate"><span class="pre">WITH</span> <span class="pre">CLUSTERING</span> <span class="pre">ORDER</span> <span class="pre">(a</span> <span class="pre">DESC,</span> <span class="pre">b</span> <span class="pre">ASC)</span></code>, then in queries you will be allowed to use
-<code class="docutils literal notranslate"><span class="pre">ORDER</span> <span class="pre">BY</span> <span class="pre">(a</span> <span class="pre">DESC,</span> <span class="pre">b</span> <span class="pre">ASC)</span></code> and (reverse clustering order) <code class="docutils literal notranslate"><span class="pre">ORDER</span> <span class="pre">BY</span> <span class="pre">(a</span> <span class="pre">ASC,</span> <span class="pre">b</span> <span class="pre">DESC)</span></code> but <strong [...]
-<span class="pre">ASC,</span> <span class="pre">b</span> <span class="pre">ASC)</span></code> (nor <code class="docutils literal notranslate"><span class="pre">ORDER</span> <span class="pre">BY</span> <span class="pre">(a</span> <span class="pre">DESC,</span> <span class="pre">b</span> <span class="pre">DESC)</span></code>).</dd>
-<dt># it also change the default order of results when queried (if no <code class="docutils literal notranslate"><span class="pre">ORDER</span> <span class="pre">BY</span></code> is provided). Results are always returned</dt>
-<dd>in clustering order (within a partition).</dd>
-<dt># it has a small performance impact on some queries as queries in reverse clustering order are slower than the one in</dt>
-<dd>forward clustering order. In practice, this means that if you plan on querying mostly in the reverse natural order of
-your columns (which is common with time series for instance where you often want data from the newest to the oldest),
-it is an optimization to declare a descending clustering order.</dd>
-</dl>
-<div class="admonition-todo admonition" id="index-0">
-<p class="first admonition-title">Todo</p>
-<p class="last">review (misses cdc if nothing else) and link to proper categories when appropriate (compaction for instance)</p>
-</div>
-<p>A table supports the following options:</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="28%" />
-<col width="9%" />
-<col width="11%" />
-<col width="52%" />
-</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">option</th>
-<th class="head">kind</th>
-<th class="head">default</th>
-<th class="head">description</th>
-</tr>
-</thead>
-<tbody valign="top">
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">comment</span></code></td>
-<td><em>simple</em></td>
-<td>none</td>
-<td>A free-form, human-readable comment.</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">speculative_retry</span></code></td>
-<td><em>simple</em></td>
-<td>99PERCENTILE</td>
-<td><a class="reference internal" href="#speculative-retry-options"><span class="std std-ref">Speculative retry options</span></a>.</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">additional_write_policy</span></code></td>
-<td><em>simple</em></td>
-<td>99PERCENTILE</td>
-<td><a class="reference internal" href="#speculative-retry-options"><span class="std std-ref">Speculative retry options</span></a>.</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">gc_grace_seconds</span></code></td>
-<td><em>simple</em></td>
-<td>864000</td>
-<td>Time to wait before garbage collecting tombstones
-(deletion markers).</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">bloom_filter_fp_chance</span></code></td>
-<td><em>simple</em></td>
-<td>0.00075</td>
-<td>The target probability of false positive of the sstable
-bloom filters. Said bloom filters will be sized to provide
-the provided probability (thus lowering this value impact
-the size of bloom filters in-memory and on-disk)</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">default_time_to_live</span></code></td>
-<td><em>simple</em></td>
-<td>0</td>
-<td>The default expiration time (“TTL”) in seconds for a
-table.</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">compaction</span></code></td>
-<td><em>map</em></td>
-<td><em>see below</em></td>
-<td><a class="reference internal" href="#cql-compaction-options"><span class="std std-ref">Compaction options</span></a>.</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">compression</span></code></td>
-<td><em>map</em></td>
-<td><em>see below</em></td>
-<td><a class="reference internal" href="#cql-compression-options"><span class="std std-ref">Compression options</span></a>.</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">caching</span></code></td>
-<td><em>map</em></td>
-<td><em>see below</em></td>
-<td><a class="reference internal" href="#cql-caching-options"><span class="std std-ref">Caching options</span></a>.</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">memtable_flush_period_in_ms</span></code></td>
-<td><em>simple</em></td>
-<td>0</td>
-<td>Time (in ms) before Cassandra flushes memtables to disk.</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">read_repair</span></code></td>
-<td><em>simple</em></td>
-<td>BLOCKING</td>
-<td>Sets read repair behavior (see below)</td>
-</tr>
-</tbody>
-</table>
-<p>By default, Cassandra read coordinators only query as many replicas as necessary to satisfy
-consistency levels: one for consistency level <code class="docutils literal notranslate"><span class="pre">ONE</span></code>, a quorum for <code class="docutils literal notranslate"><span class="pre">QUORUM</span></code>, and so on.
-<code class="docutils literal notranslate"><span class="pre">speculative_retry</span></code> determines when coordinators may query additional replicas, which is useful
-when replicas are slow or unresponsive.  <code class="docutils literal notranslate"><span class="pre">additional_write_policy</span></code> specifies the threshold at which
-a cheap quorum write will be upgraded to include transient replicas.  The following are legal values (case-insensitive):</p>
-<p>This setting does not affect reads with consistency level <code class="docutils literal notranslate"><span class="pre">ALL</span></code> because they already query all replicas.</p>
-<p>Note that frequently reading from additional replicas can hurt cluster performance.
-When in doubt, keep the default <code class="docutils literal notranslate"><span class="pre">99PERCENTILE</span></code>.</p>
-<p>The <code class="docutils literal notranslate"><span class="pre">compaction</span></code> options must at least define the <code class="docutils literal notranslate"><span class="pre">'class'</span></code> sub-option, that defines the compaction strategy class
-to use. The default supported class are <code class="docutils literal notranslate"><span class="pre">'SizeTieredCompactionStrategy'</span></code> (<a class="reference internal" href="../operating/compaction.html#stcs"><span class="std std-ref">STCS</span></a>),
-<code class="docutils literal notranslate"><span class="pre">'LeveledCompactionStrategy'</span></code> (<a class="reference internal" href="../operating/compaction.html#lcs"><span class="std std-ref">LCS</span></a>) and <code class="docutils literal notranslate"><span class="pre">'TimeWindowCompactionStrategy'</span></code> (<a class="reference internal" href="../operating/compaction.html#twcs"><span class="std std-ref">TWCS</span></a>) (the
-<code class="docutils literal notranslate"><span class="pre">'DateTieredCompactionStrategy'</span></code> is also supported but is deprecated and <code class="docutils literal notranslate"><span class="pre">'TimeWindowCompactionStrategy'</span></code> should be
-preferred instead). Custom strategy can be provided by specifying the full class name as a <a class="reference internal" href="definitions.html#constants"><span class="std std-ref">string constant</span></a>.</p>
-<p>All default strategies support a number of <a class="reference internal" href="../operating/compaction.html#compaction-options"><span class="std std-ref">common options</span></a>, as well as options specific to
-the strategy chosen (see the section corresponding to your strategy for details: <a class="reference internal" href="../operating/compaction.html#stcs-options"><span class="std std-ref">STCS</span></a>, <a class="reference internal" href="../operating/compaction.html#lcs-options"><span class="std std-ref">LCS</span></a> and <a class="reference internal" href="../operating/compaction.html#twcs"><span class="std std-ref">TWCS</span></a>).</p>
-<p>The <code class="docutils literal notranslate"><span class="pre">compression</span></code> options define if and how the sstables of the table are compressed. The following sub-options are
-available:</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="21%" />
-<col width="13%" />
-<col width="66%" />
-</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Option</th>
-<th class="head">Default</th>
-<th class="head">Description</th>
-</tr>
-</thead>
-<tbody valign="top">
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">class</span></code></td>
-<td>LZ4Compressor</td>
-<td>The compression algorithm to use. Default compressor are: LZ4Compressor,
-SnappyCompressor and DeflateCompressor. Use <code class="docutils literal notranslate"><span class="pre">'enabled'</span> <span class="pre">:</span> <span class="pre">false</span></code> to disable
-compression. Custom compressor can be provided by specifying the full class
-name as a “string constant”:#constants.</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">enabled</span></code></td>
-<td>true</td>
-<td>Enable/disable sstable compression.</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">chunk_length_in_kb</span></code></td>
-<td>64</td>
-<td>On disk SSTables are compressed by block (to allow random reads). This
-defines the size (in KB) of said block. Bigger values may improve the
-compression rate, but increases the minimum size of data to be read from disk
-for a read</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">crc_check_chance</span></code></td>
-<td>1.0</td>
-<td>When compression is enabled, each compressed block includes a checksum of
-that block for the purpose of detecting disk bitrot and avoiding the
-propagation of corruption to other replica. This option defines the
-probability with which those checksums are checked during read. By default
-they are always checked. Set to 0 to disable checksum checking and to 0.5 for
-instance to check them every other read   |</td>
-</tr>
-</tbody>
-</table>
-<p>For instance, to create a table with LZ4Compressor and a chunk_lenth_in_kb of 4KB:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">TABLE</span> <span class="n">simple</span> <span class="p">(</span>
-   <span class="n">id</span> <span class="nb">int</span><span class="p">,</span>
-   <span class="k">key</span> <span class="nb">text</span><span class="p">,</span>
-   <span class="n">value</span> <span class="nb">text</span><span class="p">,</span>
-   <span class="k">PRIMARY</span> <span class="k">KEY</span> <span class="p">(</span><span class="k">key</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
-<span class="p">)</span> <span class="k">with</span> <span class="n">compression</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;class&#39;</span><span class="p">:</span> <span class="s1">&#39;LZ4Compressor&#39;</span><span class="p">,</span> <span class="s1">&#39;chunk_length_in_kb&#39;</span><span class="p">:</span> <span class="mf">4</span><span class="p">};</span>
-</pre></div>
-</div>
-<p>The <code class="docutils literal notranslate"><span class="pre">caching</span></code> options allows to configure both the <em>key cache</em> and the <em>row cache</em> for the table. The following
-sub-options are available:</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="21%" />
-<col width="8%" />
-<col width="72%" />
-</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Option</th>
-<th class="head">Default</th>
-<th class="head">Description</th>
-</tr>
-</thead>
-<tbody valign="top">
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">keys</span></code></td>
-<td>ALL</td>
-<td>Whether to cache keys (“key cache”) for this table. Valid values are: <code class="docutils literal notranslate"><span class="pre">ALL</span></code> and
-<code class="docutils literal notranslate"><span class="pre">NONE</span></code>.</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">rows_per_partition</span></code></td>
-<td>NONE</td>
-<td>The amount of rows to cache per partition (“row cache”). If an integer <code class="docutils literal notranslate"><span class="pre">n</span></code> is
-specified, the first <code class="docutils literal notranslate"><span class="pre">n</span></code> queried rows of a partition will be cached. Other
-possible options are <code class="docutils literal notranslate"><span class="pre">ALL</span></code>, to cache all rows of a queried partition, or <code class="docutils literal notranslate"><span class="pre">NONE</span></code>
-to disable row caching.</td>
-</tr>
-</tbody>
-</table>
-<p>For instance, to create a table with both a key cache and 10 rows per partition:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">TABLE</span> <span class="n">simple</span> <span class="p">(</span>
-<span class="n">id</span> <span class="nb">int</span><span class="p">,</span>
-<span class="k">key</span> <span class="nb">text</span><span class="p">,</span>
-<span class="n">value</span> <span class="nb">text</span><span class="p">,</span>
-<span class="k">PRIMARY</span> <span class="k">KEY</span> <span class="p">(</span><span class="k">key</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
-<span class="p">)</span> <span class="k">WITH</span> <span class="n">caching</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;keys&#39;</span><span class="p">:</span> <span class="s1">&#39;ALL&#39;</span><span class="p">,</span> <span class="s1">&#39;rows_per_partition&#39;</span><span class="p">:</span> <span class="mf">10</span><span class="p">};</span>
-</pre></div>
-</div>
-<p>The <code class="docutils literal notranslate"><span class="pre">read_repair</span></code> options configures the read repair behavior to allow tuning for various performance and
-consistency behaviors. Two consistency properties are affected by read repair behavior.</p>
-<ul class="simple">
-<li>Monotonic Quorum Reads: Provided by <code class="docutils literal notranslate"><span class="pre">BLOCKING</span></code>. Monotonic quorum reads prevents reads from appearing to go back
-in time in some circumstances. When monotonic quorum reads are not provided and a write fails to reach a quorum of
-replicas, it may be visible in one read, and then disappear in a subsequent read.</li>
-<li>Write Atomicity: Provided by <code class="docutils literal notranslate"><span class="pre">NONE</span></code>. Write atomicity prevents reads from returning partially applied writes.
-Cassandra attempts to provide partition level write atomicity, but since only the data covered by a SELECT statement
-is repaired by a read repair, read repair can break write atomicity when data is read at a more granular level than it
-is written. For example read repair can break write atomicity if you write multiple rows to a clustered partition in a
-batch, but then select a single row by specifying the clustering column in a SELECT statement.</li>
-</ul>
-<p>The available read repair settings are:</p>
-<p>The default setting. When <code class="docutils literal notranslate"><span class="pre">read_repair</span></code> is set to <code class="docutils literal notranslate"><span class="pre">BLOCKING</span></code>, and a read repair is triggered, the read will block
-on writes sent to other replicas until the CL is reached by the writes. Provides monotonic quorum reads, but not partition
-level write atomicity</p>
-<p>When <code class="docutils literal notranslate"><span class="pre">read_repair</span></code> is set to <code class="docutils literal notranslate"><span class="pre">NONE</span></code>, the coordinator will reconcile any differences between replicas, but will not
-attempt to repair them. Provides partition level write atomicity, but not monotonic quorum reads.</p>
-<ul class="simple">
-<li>Adding new columns (see <code class="docutils literal notranslate"><span class="pre">ALTER</span> <span class="pre">TABLE</span></code> below) is a constant time operation. There is thus no need to try to
-anticipate future usage when creating a table.</li>
-</ul>
-</div>
-<div class="section" id="alter-table">
-<span id="alter-table-statement"></span><h2>ALTER TABLE<a class="headerlink" href="#alter-table" title="Permalink to this headline">¶</a></h2>
-<p>Altering an existing table uses the <code class="docutils literal notranslate"><span class="pre">ALTER</span> <span class="pre">TABLE</span></code> statement:</p>
-<pre>
-<strong id="grammar-token-alter-table-statement">alter_table_statement  </strong> ::=  ALTER TABLE <a class="reference internal" href="#grammar-token-table-name"><code class="xref docutils literal notranslate"><span class="pre">table_name</span></code></a> <a class="reference internal" href="#grammar-token-alter-table-instruction"><code class="xref docutils literal notranslate"><span class="pre">alter_table_instruction</span></code></a>
-<strong id="grammar-token-alter-table-instruction">alter_table_instruction</strong> ::=  ADD <a class="reference internal" href="#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> <a class="reference internal" href="types.html#grammar-token-cql-type"><code class="xref docutils literal notranslate"><span class="pre">cql_type</span></code></a> ( ',' <a class="reference internal" href="#grammar-token-column-name"><code [...]
-                             | DROP <a class="reference internal" href="#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> ( <a class="reference internal" href="#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> )*
-                             | WITH <a class="reference internal" href="#grammar-token-options"><code class="xref docutils literal notranslate"><span class="pre">options</span></code></a>
-</pre>
-<p>For instance:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">ALTER</span> <span class="k">TABLE</span> <span class="n">addamsFamily</span> <span class="k">ADD</span> <span class="n">gravesite</span> <span class="nb">varchar</span><span class="p">;</span>
-
-<span class="k">ALTER</span> <span class="k">TABLE</span> <span class="n">addamsFamily</span>
-       <span class="k">WITH</span> <span class="n">comment</span> <span class="o">=</span> <span class="s1">&#39;A most excellent and useful table&#39;</span><span class="p">;</span>
-</pre></div>
-</div>
-<p>The <code class="docutils literal notranslate"><span class="pre">ALTER</span> <span class="pre">TABLE</span></code> statement can:</p>
-<ul class="simple">
-<li>Add new column(s) to the table (through the <code class="docutils literal notranslate"><span class="pre">ADD</span></code> instruction). Note that the primary key of a table cannot be
-changed and thus newly added column will, by extension, never be part of the primary key. Also note that <a class="reference internal" href="#compact-tables"><span class="std std-ref">compact
-tables</span></a> have restrictions regarding column addition. Note that this is constant (in the amount of
-data the cluster contains) time operation.</li>
-<li>Remove column(s) from the table. This drops both the column and all its content, but note that while the column
-becomes immediately unavailable, its content is only removed lazily during compaction. Please also see the warnings
-below. Due to lazy removal, the altering itself is a constant (in the amount of data removed or contained in the
-cluster) time operation.</li>
-<li>Change some of the table options (through the <code class="docutils literal notranslate"><span class="pre">WITH</span></code> instruction). The <a class="reference internal" href="#create-table-options"><span class="std std-ref">supported options</span></a> are the same that when creating a table (outside of <code class="docutils literal notranslate"><span class="pre">COMPACT</span> <span class="pre">STORAGE</span></code> and <code class="docutils literal notranslate"><span class="pr [...]
-<span class="pre">ORDER</span></code> that cannot be changed after creation). Note that setting any <code class="docutils literal notranslate"><span class="pre">compaction</span></code> sub-options has the effect of
-erasing all previous <code class="docutils literal notranslate"><span class="pre">compaction</span></code> options, so you need to re-specify all the sub-options if you want to keep them.
-The same note applies to the set of <code class="docutils literal notranslate"><span class="pre">compression</span></code> sub-options.</li>
-</ul>
-<div class="admonition warning">
-<p class="first admonition-title">Warning</p>
-<p class="last">Dropping a column assumes that the timestamps used for the value of this column are “real” timestamp in
-microseconds. Using “real” timestamps in microseconds is the default is and is <strong>strongly</strong> recommended but as
-Cassandra allows the client to provide any timestamp on any table it is theoretically possible to use another
-convention. Please be aware that if you do so, dropping a column will not work correctly.</p>
-</div>
-<div class="admonition warning">
-<p class="first admonition-title">Warning</p>
-<p class="last">Once a column is dropped, it is allowed to re-add a column with the same name than the dropped one
-<strong>unless</strong> the type of the dropped column was a (non-frozen) column (due to an internal technical limitation).</p>
-</div>
-</div>
-<div class="section" id="drop-table">
-<span id="drop-table-statement"></span><h2>DROP TABLE<a class="headerlink" href="#drop-table" title="Permalink to this headline">¶</a></h2>
-<p>Dropping a table uses the <code class="docutils literal notranslate"><span class="pre">DROP</span> <span class="pre">TABLE</span></code> statement:</p>
-<pre>
-<strong id="grammar-token-drop-table-statement">drop_table_statement</strong> ::=  DROP TABLE [ IF EXISTS ] <a class="reference internal" href="#grammar-token-table-name"><code class="xref docutils literal notranslate"><span class="pre">table_name</span></code></a>
-</pre>
-<p>Dropping a table results in the immediate, irreversible removal of the table, including all data it contains.</p>
-<p>If the table does not exist, the statement will return an error, unless <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">EXISTS</span></code> is used in which case the
-operation is a no-op.</p>
-</div>
-<div class="section" id="truncate">
-<span id="truncate-statement"></span><h2>TRUNCATE<a class="headerlink" href="#truncate" title="Permalink to this headline">¶</a></h2>
-<p>A table can be truncated using the <code class="docutils literal notranslate"><span class="pre">TRUNCATE</span></code> statement:</p>
-<pre>
-<strong id="grammar-token-truncate-statement">truncate_statement</strong> ::=  TRUNCATE [ TABLE ] <a class="reference internal" href="#grammar-token-table-name"><code class="xref docutils literal notranslate"><span class="pre">table_name</span></code></a>
-</pre>
-<p>Note that <code class="docutils literal notranslate"><span class="pre">TRUNCATE</span> <span class="pre">TABLE</span> <span class="pre">foo</span></code> is allowed for consistency with other DDL statements but tables are the only object
-that can be truncated currently and so the <code class="docutils literal notranslate"><span class="pre">TABLE</span></code> keyword can be omitted.</p>
-<p>Truncating a table permanently removes all existing data from the table, but without removing the table itself.</p>
-</div>
-</div>
-
-
-
-          
-          <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation">
-            
-            <a href="dml.html" class="btn btn-default pull-right " role="button" title="Data Manipulation" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
-            
-            
-            <a href="types.html" class="btn btn-default" role="button" title="Data Types" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
-            
-          </div>
-          
-        </div>
-      </div>
-    </div>
-  </div>
-</div>
-
-    <hr />
-
-<footer>
-  <div class="container">
-    <div class="col-md-4 social-blk">
-      <span class="social">
-        <a href="https://twitter.com/cassandra"
-           class="twitter-follow-button"
-           data-show-count="false" data-size="large">Follow @cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-        <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
-           class="twitter-hashtag-button"
-           data-size="large"
-           data-related="ApacheCassandra">Tweet #cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-
-      </span>
-      <a class="subscribe-rss icon-link" href="/feed.xml" title="Subscribe to Blog via RSS">
-          <span><i class="fa fa-rss"></i></span>
-      </a>
-    </div>
-
-    <div class="col-md-8 trademark">
-      <p>&copy; 2016 <a href="http://apache.org">The Apache Software Foundation</a>.
-      Apache, the Apache feather logo, and Apache Cassandra are trademarks of The Apache Software Foundation.
-      <p>
-    </div>
-  </div><!-- /.container -->
-</footer>
-
-<!-- Javascript. Placed here so pages load faster -->
-<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
-<script src="./../../../js/underscore-min.js"></script>
-<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
-
-
-<script src="./../../../js/doctools.js"></script>
-<script src="./../../../js/searchtools.js"></script>
-
- <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:    "", VERSION:     "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE:  false, SOURCELINK_SUFFIX: ".txt" }; </script> 
-
-
-
-<script type="text/javascript">
-  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
-  document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
-
-  try {
-    var pageTracker = _gat._getTracker("UA-11583863-1");
-    pageTracker._trackPageview();
-  } catch(err) {}
-</script>
-
-
-  </body>
-</html>
diff --git a/content/doc/4.0/cql/definitions.html b/content/doc/4.0/cql/definitions.html
deleted file mode 100644
index b61df06..0000000
--- a/content/doc/4.0/cql/definitions.html
+++ /dev/null
@@ -1,441 +0,0 @@
-<!DOCTYPE html>
-<html>
-  
-
-
-
-<head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="description" content="The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive r [...]
-">
-  <meta name="keywords" content="cassandra, apache, apache cassandra, distributed storage, key value store, scalability, bigtable, dynamo" />
-  <meta name="robots" content="index,follow" />
-  <meta name="language" content="en" />  
-
-  <title>Documentation</title>
-
-  <link rel="canonical" href="http://cassandra.apache.org/doc/4.0/cql/definitions.html">
-
-  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
-  <link rel="stylesheet" href="./../../../css/style.css">
-  
-  <link rel="stylesheet" href="./../../../css/sphinx.css">
-  
-
-   <link rel="top" title="Apache Cassandra Documentation v4.0" href="../index.html"/> <link rel="up" title="The Cassandra Query Language (CQL)" href="index.html"/> <link rel="next" title="Data Types" href="types.html"/> <link rel="prev" title="The Cassandra Query Language (CQL)" href="index.html"/> 
-  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
-  
-  <link type="application/atom+xml" rel="alternate" href="http://cassandra.apache.org/feed.xml" title="Apache Cassandra Website" />
-</head>
-
-  <body>
-    <!-- breadcrumbs -->
-<div class="topnav">
-  <div class="container breadcrumb-container">
-    <ul class="breadcrumb">
-      <li>
-        <div class="dropdown">
-          <img class="asf-logo" src="./../../../img/asf_feather.png" />
-          <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
-          <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
-            <li><a href="http://www.apache.org">Apache Homepage</a></li>
-            <li><a href="http://www.apache.org/licenses/">License</a></li>
-            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
-            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
-            <li><a href="http://www.apache.org/security/">Security</a></li>
-          </ul>
-        </div>
-      </li>
-
-      
-      <li><a href="./../../../">Apache Cassandra</a></li>
-      
-
-      
-        
-        <li><a href="./../../../doc">Documentation</a></li>
-        
-      
-
-      
-      <li><a href="./">The Cassandra Query Language (CQL)</a></li>
-      
-
-      
-      <li>Definitions</li>
-      
-    </ul>
-  </div>
-
-  <!-- navbar -->
-  <nav class="navbar navbar-default navbar-static-top" role="navigation">
-    <div class="container">
-      <div class="navbar-header">
-        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
-          <span class="sr-only">Toggle navigation</span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-        </button>
-        <a class="navbar-brand" href="./../../../"><img src="./../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
-      </div><!-- /.navbar-header -->
-
-      <div id="cassandra-menu" class="collapse navbar-collapse">
-        <ul class="nav navbar-nav navbar-right">
-          <li><a href="./../../../">Home</a></li>
-          <li><a href="./../../../download/">Download</a></li>
-          <li><a href="./../../../doc/">Documentation</a></li>
-          <li><a href="./../../../community/">Community</a></li>
-          <li>
-            <a href="./../../../blog/">Blog</a>
-        </li>
-        </ul>
-      </div><!-- /#cassandra-menu -->
-
-      
-    </div>
-  </nav><!-- /.navbar -->
-</div><!-- /.topnav -->
-
-    <div class="container-fluid">
-  <div class="row">
-    <div class="col-md-3">
-      <div class="doc-navigation">
-        <div class="doc-menu" role="navigation">
-          <div class="navbar-header">
-            <button type="button" class="pull-left navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse">
-              <span class="sr-only">Toggle navigation</span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-            </button>
-          </div>
-          <div class="navbar-collapse collapse sidebar-navbar-collapse">
-            <form id="doc-search-form" class="navbar-form" action="../search.html" method="get" role="search">
-              <div class="form-group">
-                <input type="text" size="30" class="form-control input-sm" name="q" placeholder="Search docs">
-                <input type="hidden" name="check_keywords" value="yes" />
-                <input type="hidden" name="area" value="default" />
-              </div>
-            </form>
-            
-            
-            
-            <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
-<li class="toctree-l1 current"><a class="reference internal" href="index.html">The Cassandra Query Language (CQL)</a><ul class="current">
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Definitions</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#conventions">Conventions</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#identifiers">Identifiers and keywords</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#constants">Constants</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#terms">Terms</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#comments">Comments</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#statements">Statements</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#prepared-statements">Prepared Statements</a></li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="types.html">Data Types</a></li>
-<li class="toctree-l2"><a class="reference internal" href="ddl.html">Data Definition</a></li>
-<li class="toctree-l2"><a class="reference internal" href="dml.html">Data Manipulation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="indexes.html">Secondary Indexes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="mvs.html">Materialized Views</a></li>
-<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
-<li class="toctree-l2"><a class="reference internal" href="functions.html">Functions</a></li>
-<li class="toctree-l2"><a class="reference internal" href="operators.html">Arithmetic Operators</a></li>
-<li class="toctree-l2"><a class="reference internal" href="json.html">JSON Support</a></li>
-<li class="toctree-l2"><a class="reference internal" href="triggers.html">Triggers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="appendices.html">Appendices</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html">Changes</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Contributing to Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">Frequently Asked Questions</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Third-Party Plugins</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li>
-</ul>
-
-            
-            
-          </div><!--/.nav-collapse -->
-        </div>
-      </div>
-    </div>
-    <div class="col-md-8">
-      <div class="content doc-content">
-        <div class="content-container">
-          
-  <div class="section" id="definitions">
-<h1>Definitions<a class="headerlink" href="#definitions" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="conventions">
-<span id="id1"></span><h2>Conventions<a class="headerlink" href="#conventions" title="Permalink to this headline">¶</a></h2>
-<p>To aid in specifying the CQL syntax, we will use the following conventions in this document:</p>
-<ul class="simple">
-<li>Language rules will be given in an informal <a class="reference external" href="http://en.wikipedia.org/wiki/Backus%E2%80%93Naur_Form#Variants">BNF variant</a> notation. In particular, we’ll use square brakets
-(<code class="docutils literal notranslate"><span class="pre">[</span> <span class="pre">item</span> <span class="pre">]</span></code>) for optional items, <code class="docutils literal notranslate"><span class="pre">*</span></code> and <code class="docutils literal notranslate"><span class="pre">+</span></code> for repeated items (where <code class="docutils literal notranslate"><span class="pre">+</span></code> imply at least one).</li>
-<li>The grammar will also use the following convention for convenience: non-terminal term will be lowercase (and link to
-their definition) while terminal keywords will be provided “all caps”. Note however that keywords are
-<a class="reference internal" href="#identifiers"><span class="std std-ref">Identifiers and keywords</span></a> and are thus case insensitive in practice. We will also define some early construction using
-regexp, which we’ll indicate with <code class="docutils literal notranslate"><span class="pre">re(&lt;some</span> <span class="pre">regular</span> <span class="pre">expression&gt;)</span></code>.</li>
-<li>The grammar is provided for documentation purposes and leave some minor details out.  For instance, the comma on the
-last column definition in a <code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">TABLE</span></code> statement is optional but supported if present even though the grammar in
-this document suggests otherwise. Also, not everything accepted by the grammar is necessarily valid CQL.</li>
-<li>References to keywords or pieces of CQL code in running text will be shown in a <code class="docutils literal notranslate"><span class="pre">fixed-width</span> <span class="pre">font</span></code>.</li>
-</ul>
-</div>
-<div class="section" id="identifiers">
-<span id="identifiers-and-keywords"></span><h2>Identifiers and keywords<a class="headerlink" href="#identifiers" title="Permalink to this headline">¶</a></h2>
-<p>The CQL language uses <em>identifiers</em> (or <em>names</em>) to identify tables, columns and other objects. An identifier is a token
-matching the regular expression <code class="docutils literal notranslate"><span class="pre">[a-zA-Z][a-zA-Z0-9_]*</span></code>.</p>
-<p>A number of such identifiers, like <code class="docutils literal notranslate"><span class="pre">SELECT</span></code> or <code class="docutils literal notranslate"><span class="pre">WITH</span></code>, are <em>keywords</em>. They have a fixed meaning for the language
-and most are reserved. The list of those keywords can be found in <a class="reference internal" href="appendices.html#appendix-a"><span class="std std-ref">Appendix A: CQL Keywords</span></a>.</p>
-<p>Identifiers and (unquoted) keywords are case insensitive. Thus <code class="docutils literal notranslate"><span class="pre">SELECT</span></code> is the same than <code class="docutils literal notranslate"><span class="pre">select</span></code> or <code class="docutils literal notranslate"><span class="pre">sElEcT</span></code>, and
-<code class="docutils literal notranslate"><span class="pre">myId</span></code> is the same than <code class="docutils literal notranslate"><span class="pre">myid</span></code> or <code class="docutils literal notranslate"><span class="pre">MYID</span></code>. A convention often used (in particular by the samples of this
-documentation) is to use upper case for keywords and lower case for other identifiers.</p>
-<p>There is a second kind of identifiers called <em>quoted identifiers</em> defined by enclosing an arbitrary sequence of
-characters (non empty) in double-quotes(<code class="docutils literal notranslate"><span class="pre">&quot;</span></code>). Quoted identifiers are never keywords. Thus <code class="docutils literal notranslate"><span class="pre">&quot;select&quot;</span></code> is not a
-reserved keyword and can be used to refer to a column (note that using this is particularly advised), while <code class="docutils literal notranslate"><span class="pre">select</span></code>
-would raise a parsing error. Also, contrarily to unquoted identifiers and keywords, quoted identifiers are case
-sensitive (<code class="docutils literal notranslate"><span class="pre">&quot;My</span> <span class="pre">Quoted</span> <span class="pre">Id&quot;</span></code> is <em>different</em> from <code class="docutils literal notranslate"><span class="pre">&quot;my</span> <span class="pre">quoted</span> <span class="pre">id&quot;</span></code>). A fully lowercase quoted identifier that matches
-<code class="docutils literal notranslate"><span class="pre">[a-zA-Z][a-zA-Z0-9_]*</span></code> is however <em>equivalent</em> to the unquoted identifier obtained by removing the double-quote (so
-<code class="docutils literal notranslate"><span class="pre">&quot;myid&quot;</span></code> is equivalent to <code class="docutils literal notranslate"><span class="pre">myid</span></code> and to <code class="docutils literal notranslate"><span class="pre">myId</span></code> but different from <code class="docutils literal notranslate"><span class="pre">&quot;myId&quot;</span></code>).  Inside a quoted identifier, the
-double-quote character can be repeated to escape it, so <code class="docutils literal notranslate"><span class="pre">&quot;foo</span> <span class="pre">&quot;&quot;</span> <span class="pre">bar&quot;</span></code> is a valid identifier.</p>
-<div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last"><em>quoted identifiers</em> allows to declare columns with arbitrary names, and those can sometime clash with
-specific names used by the server. For instance, when using conditional update, the server will respond with a
-result-set containing a special result named <code class="docutils literal notranslate"><span class="pre">&quot;[applied]&quot;</span></code>. If you’ve declared a column with such a name, this
-could potentially confuse some tools and should be avoided. In general, unquoted identifiers should be preferred but
-if you use quoted identifiers, it is strongly advised to avoid any name enclosed by squared brackets (like
-<code class="docutils literal notranslate"><span class="pre">&quot;[applied]&quot;</span></code>) and any name that looks like a function call (like <code class="docutils literal notranslate"><span class="pre">&quot;f(x)&quot;</span></code>).</p>
-</div>
-<p>More formally, we have:</p>
-<pre>
-<strong id="grammar-token-identifier">identifier         </strong> ::=  <a class="reference internal" href="#grammar-token-unquoted-identifier"><code class="xref docutils literal notranslate"><span class="pre">unquoted_identifier</span></code></a> | <a class="reference internal" href="#grammar-token-quoted-identifier"><code class="xref docutils literal notranslate"><span class="pre">quoted_identifier</span></code></a>
-<strong id="grammar-token-unquoted-identifier">unquoted_identifier</strong> ::=  re('[a-zA-Z][a-zA-Z0-9_]*')
-<strong id="grammar-token-quoted-identifier">quoted_identifier  </strong> ::=  '&quot;' (any character where &quot; can appear if doubled)+ '&quot;'
-</pre>
-</div>
-<div class="section" id="constants">
-<span id="id2"></span><h2>Constants<a class="headerlink" href="#constants" title="Permalink to this headline">¶</a></h2>
-<p>CQL defines the following kind of <em>constants</em>:</p>
-<pre>
-<strong id="grammar-token-constant">constant</strong> ::=  <a class="reference internal" href="#grammar-token-string"><code class="xref docutils literal notranslate"><span class="pre">string</span></code></a> | <a class="reference internal" href="#grammar-token-integer"><code class="xref docutils literal notranslate"><span class="pre">integer</span></code></a> | <a class="reference internal" href="#grammar-token-float"><code class="xref docutils literal notranslate"><span class="pre">flo [...]
-<strong id="grammar-token-string">string  </strong> ::=  '\'' (any character where ' can appear if doubled)+ '\''
-              '$$' (any character other than '$$') '$$'
-<strong id="grammar-token-integer">integer </strong> ::=  re('-?[0-9]+')
-<strong id="grammar-token-float">float   </strong> ::=  re('-?[0-9]+(\.[0-9]*)?([eE][+-]?[0-9+])?') | NAN | INFINITY
-<strong id="grammar-token-boolean">boolean </strong> ::=  TRUE | FALSE
-<strong id="grammar-token-uuid">uuid    </strong> ::=  <a class="reference internal" href="#grammar-token-hex"><code class="xref docutils literal notranslate"><span class="pre">hex</span></code></a>{8}-<a class="reference internal" href="#grammar-token-hex"><code class="xref docutils literal notranslate"><span class="pre">hex</span></code></a>{4}-<a class="reference internal" href="#grammar-token-hex"><code class="xref docutils literal notranslate"><span class="pre">hex</span></code></a> [...]
-<strong id="grammar-token-hex">hex     </strong> ::=  re(&quot;[0-9a-fA-F]&quot;)
-<strong id="grammar-token-blob">blob    </strong> ::=  '0' ('x' | 'X') <a class="reference internal" href="#grammar-token-hex"><code class="xref docutils literal notranslate"><span class="pre">hex</span></code></a>+
-</pre>
-<p>In other words:</p>
-<ul class="simple">
-<li>A string constant is an arbitrary sequence of characters enclosed by single-quote(<code class="docutils literal notranslate"><span class="pre">'</span></code>). A single-quote
-can be included by repeating it, e.g. <code class="docutils literal notranslate"><span class="pre">'It''s</span> <span class="pre">raining</span> <span class="pre">today'</span></code>. Those are not to be confused with quoted
-<a class="reference internal" href="#identifiers"><span class="std std-ref">Identifiers and keywords</span></a> that use double-quotes. Alternatively, a string can be defined by enclosing the arbitrary sequence
-of characters by two dollar characters, in which case single-quote can be used without escaping (<code class="docutils literal notranslate"><span class="pre">$$It's</span> <span class="pre">raining</span>
-<span class="pre">today$$</span></code>). That latter form is often used when defining <a class="reference internal" href="functions.html#udfs"><span class="std std-ref">user-defined functions</span></a> to avoid having to
-escape single-quote characters in function body (as they are more likely to occur than <code class="docutils literal notranslate"><span class="pre">$$</span></code>).</li>
-<li>Integer, float and boolean constant are defined as expected. Note however than float allows the special <code class="docutils literal notranslate"><span class="pre">NaN</span></code> and
-<code class="docutils literal notranslate"><span class="pre">Infinity</span></code> constants.</li>
-<li>CQL supports <a class="reference external" href="https://en.wikipedia.org/wiki/Universally_unique_identifier">UUID</a> constants.</li>
-<li>Blobs content are provided in hexadecimal and prefixed by <code class="docutils literal notranslate"><span class="pre">0x</span></code>.</li>
-<li>The special <code class="docutils literal notranslate"><span class="pre">NULL</span></code> constant denotes the absence of value.</li>
-</ul>
-<p>For how these constants are typed, see the <a class="reference internal" href="types.html#data-types"><span class="std std-ref">Data Types</span></a> section.</p>
-</div>
-<div class="section" id="terms">
-<h2>Terms<a class="headerlink" href="#terms" title="Permalink to this headline">¶</a></h2>
-<p>CQL has the notion of a <em>term</em>, which denotes the kind of values that CQL support. Terms are defined by:</p>
-<pre>
-<strong id="grammar-token-term">term                </strong> ::=  <a class="reference internal" href="#grammar-token-constant"><code class="xref docutils literal notranslate"><span class="pre">constant</span></code></a> | <a class="reference internal" href="#grammar-token-literal"><code class="xref docutils literal notranslate"><span class="pre">literal</span></code></a> | <a class="reference internal" href="#grammar-token-function-call"><code class="xref docutils literal notranslate">< [...]
-<strong id="grammar-token-literal">literal             </strong> ::=  <a class="reference internal" href="types.html#grammar-token-collection-literal"><code class="xref docutils literal notranslate"><span class="pre">collection_literal</span></code></a> | <a class="reference internal" href="types.html#grammar-token-udt-literal"><code class="xref docutils literal notranslate"><span class="pre">udt_literal</span></code></a> | <a class="reference internal" href="types.html#grammar-token-tup [...]
-<strong id="grammar-token-function-call">function_call       </strong> ::=  <a class="reference internal" href="#grammar-token-identifier"><code class="xref docutils literal notranslate"><span class="pre">identifier</span></code></a> '(' [ <a class="reference internal" href="#grammar-token-term"><code class="xref docutils literal notranslate"><span class="pre">term</span></code></a> (',' <a class="reference internal" href="#grammar-token-term"><code class="xref docutils literal notransla [...]
-<strong id="grammar-token-arithmetic-operation">arithmetic_operation</strong> ::=  '-' <a class="reference internal" href="#grammar-token-term"><code class="xref docutils literal notranslate"><span class="pre">term</span></code></a> | <a class="reference internal" href="#grammar-token-term"><code class="xref docutils literal notranslate"><span class="pre">term</span></code></a> ('+' | '-' | '*' | '/' | '%') <a class="reference internal" href="#grammar-token-term"><code class="xref docuti [...]
-<strong id="grammar-token-type-hint">type_hint           </strong> ::=  '(' <a class="reference internal" href="types.html#grammar-token-cql-type"><code class="xref docutils literal notranslate"><span class="pre">cql_type</span></code></a> `)` term
-<strong id="grammar-token-bind-marker">bind_marker         </strong> ::=  '?' | ':' <a class="reference internal" href="#grammar-token-identifier"><code class="xref docutils literal notranslate"><span class="pre">identifier</span></code></a>
-</pre>
-<p>A term is thus one of:</p>
-<ul class="simple">
-<li>A <a class="reference internal" href="#constants"><span class="std std-ref">constant</span></a>.</li>
-<li>A literal for either <a class="reference internal" href="types.html#collections"><span class="std std-ref">a collection</span></a>, <a class="reference internal" href="types.html#udts"><span class="std std-ref">a user-defined type</span></a> or <a class="reference internal" href="types.html#tuples"><span class="std std-ref">a tuple</span></a>
-(see the linked sections for details).</li>
-<li>A function call: see <a class="reference internal" href="functions.html#cql-functions"><span class="std std-ref">the section on functions</span></a> for details on which <a class="reference internal" href="functions.html#native-functions"><span class="std std-ref">native function</span></a> exists and how to define your own <a class="reference internal" href="functions.html#udfs"><span class="std std-ref">user-defined ones</span></a>.</li>
-<li>An arithmetic operation between terms. see <a class="reference internal" href="operators.html#arithmetic-operators"><span class="std std-ref">the section on arithmetic operations</span></a></li>
-<li>A <em>type hint</em>: see the <span class="xref std std-ref">related section</span> for details.</li>
-<li>A bind marker, which denotes a variable to be bound at execution time. See the section on <a class="reference internal" href="#prepared-statements"><span class="std std-ref">Prepared Statements</span></a>
-for details. A bind marker can be either anonymous (<code class="docutils literal notranslate"><span class="pre">?</span></code>) or named (<code class="docutils literal notranslate"><span class="pre">:some_name</span></code>). The latter form provides a more
-convenient way to refer to the variable for binding it and should generally be preferred.</li>
-</ul>
-</div>
-<div class="section" id="comments">
-<h2>Comments<a class="headerlink" href="#comments" title="Permalink to this headline">¶</a></h2>
-<p>A comment in CQL is a line beginning by either double dashes (<code class="docutils literal notranslate"><span class="pre">--</span></code>) or double slash (<code class="docutils literal notranslate"><span class="pre">//</span></code>).</p>
-<p>Multi-line comments are also supported through enclosure within <code class="docutils literal notranslate"><span class="pre">/*</span></code> and <code class="docutils literal notranslate"><span class="pre">*/</span></code> (but nesting is not supported).</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="c1">-- This is a comment</span>
-<span class="c1">// This is a comment too</span>
-<span class="cm">/* This is</span>
-<span class="cm">   a multi-line comment */</span>
-</pre></div>
-</div>
-</div>
-<div class="section" id="statements">
-<h2>Statements<a class="headerlink" href="#statements" title="Permalink to this headline">¶</a></h2>
-<p>CQL consists of statements that can be divided in the following categories:</p>
-<ul class="simple">
-<li><a class="reference internal" href="ddl.html#data-definition"><span class="std std-ref">Data Definition</span></a> statements, to define and change how the data is stored (keyspaces and tables).</li>
-<li><a class="reference internal" href="dml.html#data-manipulation"><span class="std std-ref">Data Manipulation</span></a> statements, for selecting, inserting and deleting data.</li>
-<li><a class="reference internal" href="indexes.html#secondary-indexes"><span class="std std-ref">Secondary Indexes</span></a> statements.</li>
-<li><a class="reference internal" href="mvs.html#materialized-views"><span class="std std-ref">Materialized Views</span></a> statements.</li>
-<li><a class="reference internal" href="security.html#cql-roles"><span class="std std-ref">Database Roles</span></a> statements.</li>
-<li><a class="reference internal" href="security.html#cql-permissions"><span class="std std-ref">Permissions</span></a> statements.</li>
-<li><a class="reference internal" href="functions.html#udfs"><span class="std std-ref">User-Defined Functions</span></a> statements.</li>
-<li><a class="reference internal" href="types.html#udts"><span class="std std-ref">User-Defined Types</span></a> statements.</li>
-<li><a class="reference internal" href="triggers.html#cql-triggers"><span class="std std-ref">Triggers</span></a> statements.</li>
-</ul>
-<p>All the statements are listed below and are described in the rest of this documentation (see links above):</p>
-<pre>
-<strong id="grammar-token-cql-statement">cql_statement               </strong> ::=  <a class="reference internal" href="#grammar-token-statement"><code class="xref docutils literal notranslate"><span class="pre">statement</span></code></a> [ ';' ]
-<strong id="grammar-token-statement">statement                   </strong> ::=  <a class="reference internal" href="#grammar-token-ddl-statement"><code class="xref docutils literal notranslate"><span class="pre">ddl_statement</span></code></a>
-                                  | <a class="reference internal" href="#grammar-token-dml-statement"><code class="xref docutils literal notranslate"><span class="pre">dml_statement</span></code></a>
-                                  | <a class="reference internal" href="#grammar-token-secondary-index-statement"><code class="xref docutils literal notranslate"><span class="pre">secondary_index_statement</span></code></a>
-                                  | <a class="reference internal" href="#grammar-token-materialized-view-statement"><code class="xref docutils literal notranslate"><span class="pre">materialized_view_statement</span></code></a>
-                                  | <a class="reference internal" href="#grammar-token-role-or-permission-statement"><code class="xref docutils literal notranslate"><span class="pre">role_or_permission_statement</span></code></a>
-                                  | <a class="reference internal" href="#grammar-token-udf-statement"><code class="xref docutils literal notranslate"><span class="pre">udf_statement</span></code></a>
-                                  | <a class="reference internal" href="#grammar-token-udt-statement"><code class="xref docutils literal notranslate"><span class="pre">udt_statement</span></code></a>
-                                  | <a class="reference internal" href="#grammar-token-trigger-statement"><code class="xref docutils literal notranslate"><span class="pre">trigger_statement</span></code></a>
-<strong id="grammar-token-ddl-statement">ddl_statement               </strong> ::=  <a class="reference internal" href="ddl.html#grammar-token-use-statement"><code class="xref docutils literal notranslate"><span class="pre">use_statement</span></code></a>
-                                  | <a class="reference internal" href="ddl.html#grammar-token-create-keyspace-statement"><code class="xref docutils literal notranslate"><span class="pre">create_keyspace_statement</span></code></a>
-                                  | <a class="reference internal" href="ddl.html#grammar-token-alter-keyspace-statement"><code class="xref docutils literal notranslate"><span class="pre">alter_keyspace_statement</span></code></a>
-                                  | <a class="reference internal" href="ddl.html#grammar-token-drop-keyspace-statement"><code class="xref docutils literal notranslate"><span class="pre">drop_keyspace_statement</span></code></a>
-                                  | <a class="reference internal" href="ddl.html#grammar-token-create-table-statement"><code class="xref docutils literal notranslate"><span class="pre">create_table_statement</span></code></a>
-                                  | <a class="reference internal" href="ddl.html#grammar-token-alter-table-statement"><code class="xref docutils literal notranslate"><span class="pre">alter_table_statement</span></code></a>
-                                  | <a class="reference internal" href="ddl.html#grammar-token-drop-table-statement"><code class="xref docutils literal notranslate"><span class="pre">drop_table_statement</span></code></a>
-                                  | <a class="reference internal" href="ddl.html#grammar-token-truncate-statement"><code class="xref docutils literal notranslate"><span class="pre">truncate_statement</span></code></a>
-<strong id="grammar-token-dml-statement">dml_statement               </strong> ::=  <a class="reference internal" href="dml.html#grammar-token-select-statement"><code class="xref docutils literal notranslate"><span class="pre">select_statement</span></code></a>
-                                  | <a class="reference internal" href="dml.html#grammar-token-insert-statement"><code class="xref docutils literal notranslate"><span class="pre">insert_statement</span></code></a>
-                                  | <a class="reference internal" href="dml.html#grammar-token-update-statement"><code class="xref docutils literal notranslate"><span class="pre">update_statement</span></code></a>
-                                  | <a class="reference internal" href="dml.html#grammar-token-delete-statement"><code class="xref docutils literal notranslate"><span class="pre">delete_statement</span></code></a>
-                                  | <a class="reference internal" href="dml.html#grammar-token-batch-statement"><code class="xref docutils literal notranslate"><span class="pre">batch_statement</span></code></a>
-<strong id="grammar-token-secondary-index-statement">secondary_index_statement   </strong> ::=  <a class="reference internal" href="indexes.html#grammar-token-create-index-statement"><code class="xref docutils literal notranslate"><span class="pre">create_index_statement</span></code></a>
-                                  | <a class="reference internal" href="indexes.html#grammar-token-drop-index-statement"><code class="xref docutils literal notranslate"><span class="pre">drop_index_statement</span></code></a>
-<strong id="grammar-token-materialized-view-statement">materialized_view_statement </strong> ::=  <a class="reference internal" href="mvs.html#grammar-token-create-materialized-view-statement"><code class="xref docutils literal notranslate"><span class="pre">create_materialized_view_statement</span></code></a>
-                                  | <a class="reference internal" href="mvs.html#grammar-token-drop-materialized-view-statement"><code class="xref docutils literal notranslate"><span class="pre">drop_materialized_view_statement</span></code></a>
-<strong id="grammar-token-role-or-permission-statement">role_or_permission_statement</strong> ::=  <a class="reference internal" href="security.html#grammar-token-create-role-statement"><code class="xref docutils literal notranslate"><span class="pre">create_role_statement</span></code></a>
-                                  | <a class="reference internal" href="security.html#grammar-token-alter-role-statement"><code class="xref docutils literal notranslate"><span class="pre">alter_role_statement</span></code></a>
-                                  | <a class="reference internal" href="security.html#grammar-token-drop-role-statement"><code class="xref docutils literal notranslate"><span class="pre">drop_role_statement</span></code></a>
-                                  | <a class="reference internal" href="security.html#grammar-token-grant-role-statement"><code class="xref docutils literal notranslate"><span class="pre">grant_role_statement</span></code></a>
-                                  | <a class="reference internal" href="security.html#grammar-token-revoke-role-statement"><code class="xref docutils literal notranslate"><span class="pre">revoke_role_statement</span></code></a>
-                                  | <a class="reference internal" href="security.html#grammar-token-list-roles-statement"><code class="xref docutils literal notranslate"><span class="pre">list_roles_statement</span></code></a>
-                                  | <a class="reference internal" href="security.html#grammar-token-grant-permission-statement"><code class="xref docutils literal notranslate"><span class="pre">grant_permission_statement</span></code></a>
-                                  | <a class="reference internal" href="security.html#grammar-token-revoke-permission-statement"><code class="xref docutils literal notranslate"><span class="pre">revoke_permission_statement</span></code></a>
-                                  | <a class="reference internal" href="security.html#grammar-token-list-permissions-statement"><code class="xref docutils literal notranslate"><span class="pre">list_permissions_statement</span></code></a>
-                                  | <a class="reference internal" href="security.html#grammar-token-create-user-statement"><code class="xref docutils literal notranslate"><span class="pre">create_user_statement</span></code></a>
-                                  | <a class="reference internal" href="security.html#grammar-token-alter-user-statement"><code class="xref docutils literal notranslate"><span class="pre">alter_user_statement</span></code></a>
-                                  | <a class="reference internal" href="security.html#grammar-token-drop-user-statement"><code class="xref docutils literal notranslate"><span class="pre">drop_user_statement</span></code></a>
-                                  | <a class="reference internal" href="security.html#grammar-token-list-users-statement"><code class="xref docutils literal notranslate"><span class="pre">list_users_statement</span></code></a>
-<strong id="grammar-token-udf-statement">udf_statement               </strong> ::=  <a class="reference internal" href="functions.html#grammar-token-create-function-statement"><code class="xref docutils literal notranslate"><span class="pre">create_function_statement</span></code></a>
-                                  | <a class="reference internal" href="functions.html#grammar-token-drop-function-statement"><code class="xref docutils literal notranslate"><span class="pre">drop_function_statement</span></code></a>
-                                  | <a class="reference internal" href="functions.html#grammar-token-create-aggregate-statement"><code class="xref docutils literal notranslate"><span class="pre">create_aggregate_statement</span></code></a>
-                                  | <a class="reference internal" href="functions.html#grammar-token-drop-aggregate-statement"><code class="xref docutils literal notranslate"><span class="pre">drop_aggregate_statement</span></code></a>
-<strong id="grammar-token-udt-statement">udt_statement               </strong> ::=  <a class="reference internal" href="types.html#grammar-token-create-type-statement"><code class="xref docutils literal notranslate"><span class="pre">create_type_statement</span></code></a>
-                                  | <a class="reference internal" href="types.html#grammar-token-alter-type-statement"><code class="xref docutils literal notranslate"><span class="pre">alter_type_statement</span></code></a>
-                                  | <a class="reference internal" href="types.html#grammar-token-drop-type-statement"><code class="xref docutils literal notranslate"><span class="pre">drop_type_statement</span></code></a>
-<strong id="grammar-token-trigger-statement">trigger_statement           </strong> ::=  <a class="reference internal" href="triggers.html#grammar-token-create-trigger-statement"><code class="xref docutils literal notranslate"><span class="pre">create_trigger_statement</span></code></a>
-                                  | <a class="reference internal" href="triggers.html#grammar-token-drop-trigger-statement"><code class="xref docutils literal notranslate"><span class="pre">drop_trigger_statement</span></code></a>
-</pre>
-</div>
-<div class="section" id="prepared-statements">
-<span id="id3"></span><h2>Prepared Statements<a class="headerlink" href="#prepared-statements" title="Permalink to this headline">¶</a></h2>
-<p>CQL supports <em>prepared statements</em>. Prepared statements are an optimization that allows to parse a query only once but
-execute it multiple times with different concrete values.</p>
-<p>Any statement that uses at least one bind marker (see <a class="reference internal" href="#grammar-token-bind-marker"><code class="xref std std-token docutils literal notranslate"><span class="pre">bind_marker</span></code></a>) will need to be <em>prepared</em>. After which the statement
-can be <em>executed</em> by provided concrete values for each of its marker. The exact details of how a statement is prepared
-and then executed depends on the CQL driver used and you should refer to your driver documentation.</p>
-</div>
-</div>
-
-
-
-          
-          <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation">
-            
-            <a href="types.html" class="btn btn-default pull-right " role="button" title="Data Types" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
-            
-            
-            <a href="index.html" class="btn btn-default" role="button" title="The Cassandra Query Language (CQL)" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
-            
-          </div>
-          
-        </div>
-      </div>
-    </div>
-  </div>
-</div>
-
-    <hr />
-
-<footer>
-  <div class="container">
-    <div class="col-md-4 social-blk">
-      <span class="social">
-        <a href="https://twitter.com/cassandra"
-           class="twitter-follow-button"
-           data-show-count="false" data-size="large">Follow @cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-        <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
-           class="twitter-hashtag-button"
-           data-size="large"
-           data-related="ApacheCassandra">Tweet #cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-
-      </span>
-      <a class="subscribe-rss icon-link" href="/feed.xml" title="Subscribe to Blog via RSS">
-          <span><i class="fa fa-rss"></i></span>
-      </a>
-    </div>
-
-    <div class="col-md-8 trademark">
-      <p>&copy; 2016 <a href="http://apache.org">The Apache Software Foundation</a>.
-      Apache, the Apache feather logo, and Apache Cassandra are trademarks of The Apache Software Foundation.
-      <p>
-    </div>
-  </div><!-- /.container -->
-</footer>
-
-<!-- Javascript. Placed here so pages load faster -->
-<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
-<script src="./../../../js/underscore-min.js"></script>
-<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
-
-
-<script src="./../../../js/doctools.js"></script>
-<script src="./../../../js/searchtools.js"></script>
-
- <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:    "", VERSION:     "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE:  false, SOURCELINK_SUFFIX: ".txt" }; </script> 
-
-
-
-<script type="text/javascript">
-  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
-  document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
-
-  try {
-    var pageTracker = _gat._getTracker("UA-11583863-1");
-    pageTracker._trackPageview();
-  } catch(err) {}
-</script>
-
-
-  </body>
-</html>
diff --git a/content/doc/4.0/cql/dml.html b/content/doc/4.0/cql/dml.html
deleted file mode 100644
index 5a0bd7c..0000000
--- a/content/doc/4.0/cql/dml.html
+++ /dev/null
@@ -1,685 +0,0 @@
-<!DOCTYPE html>
-<html>
-  
-
-
-
-<head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="description" content="The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive r [...]
-">
-  <meta name="keywords" content="cassandra, apache, apache cassandra, distributed storage, key value store, scalability, bigtable, dynamo" />
-  <meta name="robots" content="index,follow" />
-  <meta name="language" content="en" />  
-
-  <title>Documentation</title>
-
-  <link rel="canonical" href="http://cassandra.apache.org/doc/4.0/cql/dml.html">
-
-  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
-  <link rel="stylesheet" href="./../../../css/style.css">
-  
-  <link rel="stylesheet" href="./../../../css/sphinx.css">
-  
-
-   <link rel="top" title="Apache Cassandra Documentation v4.0" href="../index.html"/> <link rel="up" title="The Cassandra Query Language (CQL)" href="index.html"/> <link rel="next" title="Secondary Indexes" href="indexes.html"/> <link rel="prev" title="Data Definition" href="ddl.html"/> 
-  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
-  
-  <link type="application/atom+xml" rel="alternate" href="http://cassandra.apache.org/feed.xml" title="Apache Cassandra Website" />
-</head>
-
-  <body>
-    <!-- breadcrumbs -->
-<div class="topnav">
-  <div class="container breadcrumb-container">
-    <ul class="breadcrumb">
-      <li>
-        <div class="dropdown">
-          <img class="asf-logo" src="./../../../img/asf_feather.png" />
-          <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
-          <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
-            <li><a href="http://www.apache.org">Apache Homepage</a></li>
-            <li><a href="http://www.apache.org/licenses/">License</a></li>
-            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
-            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
-            <li><a href="http://www.apache.org/security/">Security</a></li>
-          </ul>
-        </div>
-      </li>
-
-      
-      <li><a href="./../../../">Apache Cassandra</a></li>
-      
-
-      
-        
-        <li><a href="./../../../doc">Documentation</a></li>
-        
-      
-
-      
-      <li><a href="./">The Cassandra Query Language (CQL)</a></li>
-      
-
-      
-      <li>Data Manipulation</li>
-      
-    </ul>
-  </div>
-
-  <!-- navbar -->
-  <nav class="navbar navbar-default navbar-static-top" role="navigation">
-    <div class="container">
-      <div class="navbar-header">
-        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
-          <span class="sr-only">Toggle navigation</span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-        </button>
-        <a class="navbar-brand" href="./../../../"><img src="./../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
-      </div><!-- /.navbar-header -->
-
-      <div id="cassandra-menu" class="collapse navbar-collapse">
-        <ul class="nav navbar-nav navbar-right">
-          <li><a href="./../../../">Home</a></li>
-          <li><a href="./../../../download/">Download</a></li>
-          <li><a href="./../../../doc/">Documentation</a></li>
-          <li><a href="./../../../community/">Community</a></li>
-          <li>
-            <a href="./../../../blog/">Blog</a>
-        </li>
-        </ul>
-      </div><!-- /#cassandra-menu -->
-
-      
-    </div>
-  </nav><!-- /.navbar -->
-</div><!-- /.topnav -->
-
-    <div class="container-fluid">
-  <div class="row">
-    <div class="col-md-3">
-      <div class="doc-navigation">
-        <div class="doc-menu" role="navigation">
-          <div class="navbar-header">
-            <button type="button" class="pull-left navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse">
-              <span class="sr-only">Toggle navigation</span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-            </button>
-          </div>
-          <div class="navbar-collapse collapse sidebar-navbar-collapse">
-            <form id="doc-search-form" class="navbar-form" action="../search.html" method="get" role="search">
-              <div class="form-group">
-                <input type="text" size="30" class="form-control input-sm" name="q" placeholder="Search docs">
-                <input type="hidden" name="check_keywords" value="yes" />
-                <input type="hidden" name="area" value="default" />
-              </div>
-            </form>
-            
-            
-            
-            <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
-<li class="toctree-l1 current"><a class="reference internal" href="index.html">The Cassandra Query Language (CQL)</a><ul class="current">
-<li class="toctree-l2"><a class="reference internal" href="definitions.html">Definitions</a></li>
-<li class="toctree-l2"><a class="reference internal" href="types.html">Data Types</a></li>
-<li class="toctree-l2"><a class="reference internal" href="ddl.html">Data Definition</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Data Manipulation</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#select">SELECT</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#insert">INSERT</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#update">UPDATE</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#delete">DELETE</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#batch">BATCH</a></li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="indexes.html">Secondary Indexes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="mvs.html">Materialized Views</a></li>
-<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
-<li class="toctree-l2"><a class="reference internal" href="functions.html">Functions</a></li>
-<li class="toctree-l2"><a class="reference internal" href="operators.html">Arithmetic Operators</a></li>
-<li class="toctree-l2"><a class="reference internal" href="json.html">JSON Support</a></li>
-<li class="toctree-l2"><a class="reference internal" href="triggers.html">Triggers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="appendices.html">Appendices</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html">Changes</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Contributing to Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">Frequently Asked Questions</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Third-Party Plugins</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li>
-</ul>
-
-            
-            
-          </div><!--/.nav-collapse -->
-        </div>
-      </div>
-    </div>
-    <div class="col-md-8">
-      <div class="content doc-content">
-        <div class="content-container">
-          
-  <div class="section" id="data-manipulation">
-<span id="id1"></span><h1>Data Manipulation<a class="headerlink" href="#data-manipulation" title="Permalink to this headline">¶</a></h1>
-<p>This section describes the statements supported by CQL to insert, update, delete and query data.</p>
-<div class="section" id="select">
-<span id="select-statement"></span><h2>SELECT<a class="headerlink" href="#select" title="Permalink to this headline">¶</a></h2>
-<p>Querying data from data is done using a <code class="docutils literal notranslate"><span class="pre">SELECT</span></code> statement:</p>
-<pre>
-<strong id="grammar-token-select-statement">select_statement</strong> ::=  SELECT [ JSON | DISTINCT ] ( <a class="reference internal" href="#grammar-token-select-clause"><code class="xref docutils literal notranslate"><span class="pre">select_clause</span></code></a> | '*' )
-                      FROM <a class="reference internal" href="ddl.html#grammar-token-table-name"><code class="xref docutils literal notranslate"><span class="pre">table_name</span></code></a>
-                      [ WHERE <a class="reference internal" href="#grammar-token-where-clause"><code class="xref docutils literal notranslate"><span class="pre">where_clause</span></code></a> ]
-                      [ GROUP BY <a class="reference internal" href="#grammar-token-group-by-clause"><code class="xref docutils literal notranslate"><span class="pre">group_by_clause</span></code></a> ]
-                      [ ORDER BY <a class="reference internal" href="#grammar-token-ordering-clause"><code class="xref docutils literal notranslate"><span class="pre">ordering_clause</span></code></a> ]
-                      [ PER PARTITION LIMIT (<a class="reference internal" href="definitions.html#grammar-token-integer"><code class="xref docutils literal notranslate"><span class="pre">integer</span></code></a> | <a class="reference internal" href="definitions.html#grammar-token-bind-marker"><code class="xref docutils literal notranslate"><span class="pre">bind_marker</span></code></a>) ]
-                      [ LIMIT (<a class="reference internal" href="definitions.html#grammar-token-integer"><code class="xref docutils literal notranslate"><span class="pre">integer</span></code></a> | <a class="reference internal" href="definitions.html#grammar-token-bind-marker"><code class="xref docutils literal notranslate"><span class="pre">bind_marker</span></code></a>) ]
-                      [ ALLOW FILTERING ]
-<strong id="grammar-token-select-clause">select_clause   </strong> ::=  <a class="reference internal" href="#grammar-token-selector"><code class="xref docutils literal notranslate"><span class="pre">selector</span></code></a> [ AS <a class="reference internal" href="definitions.html#grammar-token-identifier"><code class="xref docutils literal notranslate"><span class="pre">identifier</span></code></a> ] ( ',' <a class="reference internal" href="#grammar-token-selector"><code class="xref  [...]
-<strong id="grammar-token-selector">selector        </strong> ::=  <a class="reference internal" href="ddl.html#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a>
-                      | <a class="reference internal" href="definitions.html#grammar-token-term"><code class="xref docutils literal notranslate"><span class="pre">term</span></code></a>
-                      | CAST '(' <a class="reference internal" href="#grammar-token-selector"><code class="xref docutils literal notranslate"><span class="pre">selector</span></code></a> AS <a class="reference internal" href="types.html#grammar-token-cql-type"><code class="xref docutils literal notranslate"><span class="pre">cql_type</span></code></a> ')'
-                      | <a class="reference internal" href="functions.html#grammar-token-function-name"><code class="xref docutils literal notranslate"><span class="pre">function_name</span></code></a> '(' [ <a class="reference internal" href="#grammar-token-selector"><code class="xref docutils literal notranslate"><span class="pre">selector</span></code></a> ( ',' <a class="reference internal" href="#grammar-token-selector"><code class="xref docutils literal notranslate"><span class="pr [...]
-                      | COUNT '(' '*' ')'
-<strong id="grammar-token-where-clause">where_clause    </strong> ::=  <a class="reference internal" href="#grammar-token-relation"><code class="xref docutils literal notranslate"><span class="pre">relation</span></code></a> ( AND <a class="reference internal" href="#grammar-token-relation"><code class="xref docutils literal notranslate"><span class="pre">relation</span></code></a> )*
-<strong id="grammar-token-relation">relation        </strong> ::=  <a class="reference internal" href="ddl.html#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> <a class="reference internal" href="#grammar-token-operator"><code class="xref docutils literal notranslate"><span class="pre">operator</span></code></a> <a class="reference internal" href="definitions.html#grammar-token-term"><code class="xref docutils lit [...]
-                      '(' <a class="reference internal" href="ddl.html#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> ( ',' <a class="reference internal" href="ddl.html#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> )* ')' <a class="reference internal" href="#grammar-token-operator"><code class="xref docutils literal notranslate"><span cl [...]
-                      TOKEN '(' <a class="reference internal" href="ddl.html#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> ( ',' <a class="reference internal" href="ddl.html#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> )* ')' <a class="reference internal" href="#grammar-token-operator"><code class="xref docutils literal notranslate"><s [...]
-<strong id="grammar-token-operator">operator        </strong> ::=  '=' | '&lt;' | '&gt;' | '&lt;=' | '&gt;=' | '!=' | IN | CONTAINS | CONTAINS KEY
-<strong id="grammar-token-group-by-clause">group_by_clause </strong> ::=  <a class="reference internal" href="ddl.html#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> ( ',' <a class="reference internal" href="ddl.html#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> )*
-<strong id="grammar-token-ordering-clause">ordering_clause </strong> ::=  <a class="reference internal" href="ddl.html#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> [ ASC | DESC ] ( ',' <a class="reference internal" href="ddl.html#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> [ ASC | DESC ] )*
-</pre>
-<p>For instance:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="n">name</span><span class="p">,</span> <span class="n">occupation</span> <span class="k">FROM</span> <span class="k">users</span> <span class="k">WHERE</span> <span class="n">userid</span> <span class="k">IN</span> <span class="p">(</span><span class="mf">199</span><span class="p">,</span> <span class="mf">200</span><span class="p">,</span> <span class="mf">207</span [...]
-<span class="k">SELECT</span> <span class="k">JSON</span> <span class="n">name</span><span class="p">,</span> <span class="n">occupation</span> <span class="k">FROM</span> <span class="k">users</span> <span class="k">WHERE</span> <span class="n">userid</span> <span class="o">=</span> <span class="mf">199</span><span class="p">;</span>
-<span class="k">SELECT</span> <span class="n">name</span> <span class="k">AS</span> <span class="n">user_name</span><span class="p">,</span> <span class="n">occupation</span> <span class="k">AS</span> <span class="n">user_occupation</span> <span class="k">FROM</span> <span class="k">users</span><span class="p">;</span>
-
-<span class="k">SELECT</span> <span class="nb">time</span><span class="p">,</span> <span class="n">value</span>
-<span class="k">FROM</span> <span class="n">events</span>
-<span class="k">WHERE</span> <span class="n">event_type</span> <span class="o">=</span> <span class="s1">&#39;myEvent&#39;</span>
-  <span class="k">AND</span> <span class="nb">time</span> <span class="o">&gt;</span> <span class="s1">&#39;2011-02-03&#39;</span>
-  <span class="k">AND</span> <span class="nb">time</span> <span class="o">&lt;=</span> <span class="s1">&#39;2012-01-01&#39;</span>
-
-<span class="k">SELECT</span> <span class="k">COUNT</span> <span class="p">(</span><span class="o">*</span><span class="p">)</span> <span class="k">AS</span> <span class="n">user_count</span> <span class="k">FROM</span> <span class="k">users</span><span class="p">;</span>
-</pre></div>
-</div>
-<p>The <code class="docutils literal notranslate"><span class="pre">SELECT</span></code> statements reads one or more columns for one or more rows in a table. It returns a result-set of the rows
-matching the request, where each row contains the values for the selection corresponding to the query. Additionally,
-<a class="reference internal" href="functions.html#cql-functions"><span class="std std-ref">functions</span></a> including <a class="reference internal" href="functions.html#aggregate-functions"><span class="std std-ref">aggregation</span></a> ones can be applied to the result.</p>
-<p>A <code class="docutils literal notranslate"><span class="pre">SELECT</span></code> statement contains at least a <a class="reference internal" href="#selection-clause"><span class="std std-ref">selection clause</span></a> and the name of the table on which
-the selection is on (note that CQL does <strong>not</strong> joins or sub-queries and thus a select statement only apply to a single
-table). In most case, a select will also have a <a class="reference internal" href="#where-clause"><span class="std std-ref">where clause</span></a> and it can optionally have additional
-clauses to <a class="reference internal" href="#ordering-clause"><span class="std std-ref">order</span></a> or <a class="reference internal" href="#limit-clause"><span class="std std-ref">limit</span></a> the results. Lastly, <a class="reference internal" href="#allow-filtering"><span class="std std-ref">queries that require
-filtering</span></a> can be allowed if the <code class="docutils literal notranslate"><span class="pre">ALLOW</span> <span class="pre">FILTERING</span></code> flag is provided.</p>
-<div class="section" id="selection-clause">
-<span id="id2"></span><h3>Selection clause<a class="headerlink" href="#selection-clause" title="Permalink to this headline">¶</a></h3>
-<p>The <a class="reference internal" href="#grammar-token-select-clause"><code class="xref std std-token docutils literal notranslate"><span class="pre">select_clause</span></code></a> determines which columns needs to be queried and returned in the result-set, as well as any
-transformation to apply to this result before returning. It consists of a comma-separated list of <em>selectors</em> or,
-alternatively, of the wildcard character (<code class="docutils literal notranslate"><span class="pre">*</span></code>) to select all the columns defined in the table.</p>
-<div class="section" id="selectors">
-<h4>Selectors<a class="headerlink" href="#selectors" title="Permalink to this headline">¶</a></h4>
-<p>A <a class="reference internal" href="#grammar-token-selector"><code class="xref std std-token docutils literal notranslate"><span class="pre">selector</span></code></a> can be one of:</p>
-<ul class="simple">
-<li>A column name of the table selected, to retrieve the values for that column.</li>
-<li>A term, which is usually used nested inside other selectors like functions (if a term is selected directly, then the
-corresponding column of the result-set will simply have the value of this term for every row returned).</li>
-<li>A casting, which allows to convert a nested selector to a (compatible) type.</li>
-<li>A function call, where the arguments are selector themselves. See the section on <a class="reference internal" href="functions.html#cql-functions"><span class="std std-ref">functions</span></a> for
-more details.</li>
-<li>The special call <code class="docutils literal notranslate"><span class="pre">COUNT(*)</span></code> to the <a class="reference internal" href="functions.html#count-function"><span class="std std-ref">COUNT function</span></a>, which counts all non-null results.</li>
-</ul>
-</div>
-<div class="section" id="aliases">
-<h4>Aliases<a class="headerlink" href="#aliases" title="Permalink to this headline">¶</a></h4>
-<p>Every <em>top-level</em> selector can also be aliased (using <cite>AS</cite>). If so, the name of the corresponding column in the result
-set will be that of the alias. For instance:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="c1">// Without alias</span>
-<span class="k">SELECT</span> <span class="n">intAsBlob</span><span class="p">(</span><span class="mf">4</span><span class="p">)</span> <span class="k">FROM</span> <span class="n">t</span><span class="p">;</span>
-
-<span class="c1">//  intAsBlob(4)</span>
-<span class="c1">// --------------</span>
-<span class="c1">//  0x00000004</span>
-
-<span class="c1">// With alias</span>
-<span class="k">SELECT</span> <span class="n">intAsBlob</span><span class="p">(</span><span class="mf">4</span><span class="p">)</span> <span class="k">AS</span> <span class="n">four</span> <span class="k">FROM</span> <span class="n">t</span><span class="p">;</span>
-
-<span class="c1">//  four</span>
-<span class="c1">// ------------</span>
-<span class="c1">//  0x00000004</span>
-</pre></div>
-</div>
-<div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last">Currently, aliases aren’t recognized anywhere else in the statement where they are used (not in the <code class="docutils literal notranslate"><span class="pre">WHERE</span></code>
-clause, not in the <code class="docutils literal notranslate"><span class="pre">ORDER</span> <span class="pre">BY</span></code> clause, …). You must use the orignal column name instead.</p>
-</div>
-</div>
-<div class="section" id="writetime-and-ttl-function">
-<h4><code class="docutils literal notranslate"><span class="pre">WRITETIME</span></code> and <code class="docutils literal notranslate"><span class="pre">TTL</span></code> function<a class="headerlink" href="#writetime-and-ttl-function" title="Permalink to this headline">¶</a></h4>
-<p>Selection supports two special functions (that aren’t allowed anywhere else): <code class="docutils literal notranslate"><span class="pre">WRITETIME</span></code> and <code class="docutils literal notranslate"><span class="pre">TTL</span></code>. Both function
-take only one argument and that argument <em>must</em> be a column name (so for instance <code class="docutils literal notranslate"><span class="pre">TTL(3)</span></code> is invalid).</p>
-<p>Those functions allow to retrieve meta-information that are stored internally for each column, namely:</p>
-<ul class="simple">
-<li>the timestamp of the value of the column for <code class="docutils literal notranslate"><span class="pre">WRITETIME</span></code>.</li>
-<li>the remaining time to live (in seconds) for the value of the column if it set to expire (and <code class="docutils literal notranslate"><span class="pre">null</span></code> otherwise).</li>
-</ul>
-</div>
-</div>
-<div class="section" id="the-where-clause">
-<span id="where-clause"></span><h3>The <code class="docutils literal notranslate"><span class="pre">WHERE</span></code> clause<a class="headerlink" href="#the-where-clause" title="Permalink to this headline">¶</a></h3>
-<p>The <code class="docutils literal notranslate"><span class="pre">WHERE</span></code> clause specifies which rows must be queried. It is composed of relations on the columns that are part of
-the <code class="docutils literal notranslate"><span class="pre">PRIMARY</span> <span class="pre">KEY</span></code> and/or have a <a class="reference external" href="#createIndexStmt">secondary index</a> defined on them.</p>
-<p>Not all relations are allowed in a query. For instance, non-equal relations (where <code class="docutils literal notranslate"><span class="pre">IN</span></code> is considered as an equal
-relation) on a partition key are not supported (but see the use of the <code class="docutils literal notranslate"><span class="pre">TOKEN</span></code> method below to do non-equal queries on
-the partition key). Moreover, for a given partition key, the clustering columns induce an ordering of rows and relations
-on them is restricted to the relations that allow to select a <strong>contiguous</strong> (for the ordering) set of rows. For
-instance, given:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">TABLE</span> <span class="n">posts</span> <span class="p">(</span>
-    <span class="n">userid</span> <span class="nb">text</span><span class="p">,</span>
-    <span class="n">blog_title</span> <span class="nb">text</span><span class="p">,</span>
-    <span class="n">posted_at</span> <span class="nb">timestamp</span><span class="p">,</span>
-    <span class="n">entry_title</span> <span class="nb">text</span><span class="p">,</span>
-    <span class="n">content</span> <span class="nb">text</span><span class="p">,</span>
-    <span class="n">category</span> <span class="nb">int</span><span class="p">,</span>
-    <span class="k">PRIMARY</span> <span class="k">KEY</span> <span class="p">(</span><span class="n">userid</span><span class="p">,</span> <span class="n">blog_title</span><span class="p">,</span> <span class="n">posted_at</span><span class="p">)</span>
-<span class="p">)</span>
-</pre></div>
-</div>
-<p>The following query is allowed:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="n">entry_title</span><span class="p">,</span> <span class="n">content</span> <span class="k">FROM</span> <span class="n">posts</span>
- <span class="k">WHERE</span> <span class="n">userid</span> <span class="o">=</span> <span class="s1">&#39;john doe&#39;</span>
-   <span class="k">AND</span> <span class="n">blog_title</span><span class="o">=</span><span class="s1">&#39;John&#39;&#39;s Blog&#39;</span>
-   <span class="k">AND</span> <span class="n">posted_at</span> <span class="o">&gt;=</span> <span class="s1">&#39;2012-01-01&#39;</span> <span class="k">AND</span> <span class="n">posted_at</span> <span class="o">&lt;</span> <span class="s1">&#39;2012-01-31&#39;</span>
-</pre></div>
-</div>
-<p>But the following one is not, as it does not select a contiguous set of rows (and we suppose no secondary indexes are
-set):</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="c1">// Needs a blog_title to be set to select ranges of posted_at</span>
-<span class="k">SELECT</span> <span class="n">entry_title</span><span class="p">,</span> <span class="n">content</span> <span class="k">FROM</span> <span class="n">posts</span>
- <span class="k">WHERE</span> <span class="n">userid</span> <span class="o">=</span> <span class="s1">&#39;john doe&#39;</span>
-   <span class="k">AND</span> <span class="n">posted_at</span> <span class="o">&gt;=</span> <span class="s1">&#39;2012-01-01&#39;</span> <span class="k">AND</span> <span class="n">posted_at</span> <span class="o">&lt;</span> <span class="s1">&#39;2012-01-31&#39;</span>
-</pre></div>
-</div>
-<p>When specifying relations, the <code class="docutils literal notranslate"><span class="pre">TOKEN</span></code> function can be used on the <code class="docutils literal notranslate"><span class="pre">PARTITION</span> <span class="pre">KEY</span></code> column to query. In that case,
-rows will be selected based on the token of their <code class="docutils literal notranslate"><span class="pre">PARTITION_KEY</span></code> rather than on the value. Note that the token of a
-key depends on the partitioner in use, and that in particular the RandomPartitioner won’t yield a meaningful order. Also
-note that ordering partitioners always order token values by bytes (so even if the partition key is of type int,
-<code class="docutils literal notranslate"><span class="pre">token(-1)</span> <span class="pre">&gt;</span> <span class="pre">token(0)</span></code> in particular). Example:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">posts</span>
- <span class="k">WHERE</span> <span class="k">token</span><span class="p">(</span><span class="n">userid</span><span class="p">)</span> <span class="o">&gt;</span> <span class="k">token</span><span class="p">(</span><span class="s1">&#39;tom&#39;</span><span class="p">)</span> <span class="k">AND</span> <span class="k">token</span><span class="p">(</span><span class="n">userid</span><span class="p">)</span> <span class="o">&lt;</span> <span class="k">token</span><span class="p">(</span>< [...]
-</pre></div>
-</div>
-<p>Moreover, the <code class="docutils literal notranslate"><span class="pre">IN</span></code> relation is only allowed on the last column of the partition key and on the last column of the full
-primary key.</p>
-<p>It is also possible to “group” <code class="docutils literal notranslate"><span class="pre">CLUSTERING</span> <span class="pre">COLUMNS</span></code> together in a relation using the tuple notation. For instance:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">posts</span>
- <span class="k">WHERE</span> <span class="n">userid</span> <span class="o">=</span> <span class="s1">&#39;john doe&#39;</span>
-   <span class="k">AND</span> <span class="p">(</span><span class="n">blog_title</span><span class="p">,</span> <span class="n">posted_at</span><span class="p">)</span> <span class="o">&gt;</span> <span class="p">(</span><span class="s1">&#39;John&#39;&#39;s Blog&#39;</span><span class="p">,</span> <span class="s1">&#39;2012-01-01&#39;</span><span class="p">)</span>
-</pre></div>
-</div>
-<p>will request all rows that sorts after the one having “John’s Blog” as <code class="docutils literal notranslate"><span class="pre">blog_tile</span></code> and ‘2012-01-01’ for <code class="docutils literal notranslate"><span class="pre">posted_at</span></code>
-in the clustering order. In particular, rows having a <code class="docutils literal notranslate"><span class="pre">post_at</span> <span class="pre">&lt;=</span> <span class="pre">'2012-01-01'</span></code> will be returned as long as their
-<code class="docutils literal notranslate"><span class="pre">blog_title</span> <span class="pre">&gt;</span> <span class="pre">'John''s</span> <span class="pre">Blog'</span></code>, which would not be the case for:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">posts</span>
- <span class="k">WHERE</span> <span class="n">userid</span> <span class="o">=</span> <span class="s1">&#39;john doe&#39;</span>
-   <span class="k">AND</span> <span class="n">blog_title</span> <span class="o">&gt;</span> <span class="s1">&#39;John&#39;&#39;s Blog&#39;</span>
-   <span class="k">AND</span> <span class="n">posted_at</span> <span class="o">&gt;</span> <span class="s1">&#39;2012-01-01&#39;</span>
-</pre></div>
-</div>
-<p>The tuple notation may also be used for <code class="docutils literal notranslate"><span class="pre">IN</span></code> clauses on clustering columns:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">posts</span>
- <span class="k">WHERE</span> <span class="n">userid</span> <span class="o">=</span> <span class="s1">&#39;john doe&#39;</span>
-   <span class="k">AND</span> <span class="p">(</span><span class="n">blog_title</span><span class="p">,</span> <span class="n">posted_at</span><span class="p">)</span> <span class="k">IN</span> <span class="p">((</span><span class="s1">&#39;John&#39;&#39;s Blog&#39;</span><span class="p">,</span> <span class="s1">&#39;2012-01-01&#39;</span><span class="p">),</span> <span class="p">(</span><span class="s1">&#39;Extreme Chess&#39;</span><span class="p">,</span> <span class="s1">&#39;2014- [...]
-</pre></div>
-</div>
-<p>The <code class="docutils literal notranslate"><span class="pre">CONTAINS</span></code> operator may only be used on collection columns (lists, sets, and maps). In the case of maps,
-<code class="docutils literal notranslate"><span class="pre">CONTAINS</span></code> applies to the map values. The <code class="docutils literal notranslate"><span class="pre">CONTAINS</span> <span class="pre">KEY</span></code> operator may only be used on map columns and applies to the
-map keys.</p>
-</div>
-<div class="section" id="grouping-results">
-<span id="group-by-clause"></span><h3>Grouping results<a class="headerlink" href="#grouping-results" title="Permalink to this headline">¶</a></h3>
-<p>The <code class="docutils literal notranslate"><span class="pre">GROUP</span> <span class="pre">BY</span></code> option allows to condense into a single row all selected rows that share the same values for a set
-of columns.</p>
-<p>Using the <code class="docutils literal notranslate"><span class="pre">GROUP</span> <span class="pre">BY</span></code> option, it is only possible to group rows at the partition key level or at a clustering column
-level. By consequence, the <code class="docutils literal notranslate"><span class="pre">GROUP</span> <span class="pre">BY</span></code> option only accept as arguments primary key column names in the primary key
-order. If a primary key column is restricted by an equality restriction it is not required to be present in the
-<code class="docutils literal notranslate"><span class="pre">GROUP</span> <span class="pre">BY</span></code> clause.</p>
-<p>Aggregate functions will produce a separate value for each group. If no <code class="docutils literal notranslate"><span class="pre">GROUP</span> <span class="pre">BY</span></code> clause is specified,
-aggregates functions will produce a single value for all the rows.</p>
-<p>If a column is selected without an aggregate function, in a statement with a <code class="docutils literal notranslate"><span class="pre">GROUP</span> <span class="pre">BY</span></code>, the first value encounter
-in each group will be returned.</p>
-</div>
-<div class="section" id="ordering-results">
-<span id="ordering-clause"></span><h3>Ordering results<a class="headerlink" href="#ordering-results" title="Permalink to this headline">¶</a></h3>
-<p>The <code class="docutils literal notranslate"><span class="pre">ORDER</span> <span class="pre">BY</span></code> clause allows to select the order of the returned results. It takes as argument a list of column names
-along with the order for the column (<code class="docutils literal notranslate"><span class="pre">ASC</span></code> for ascendant and <code class="docutils literal notranslate"><span class="pre">DESC</span></code> for descendant, omitting the order being
-equivalent to <code class="docutils literal notranslate"><span class="pre">ASC</span></code>). Currently the possible orderings are limited by the <a class="reference internal" href="ddl.html#clustering-order"><span class="std std-ref">clustering order</span></a>
-defined on the table:</p>
-<ul class="simple">
-<li>if the table has been defined without any specific <code class="docutils literal notranslate"><span class="pre">CLUSTERING</span> <span class="pre">ORDER</span></code>, then then allowed orderings are the order
-induced by the clustering columns and the reverse of that one.</li>
-<li>otherwise, the orderings allowed are the order of the <code class="docutils literal notranslate"><span class="pre">CLUSTERING</span> <span class="pre">ORDER</span></code> option and the reversed one.</li>
-</ul>
-</div>
-<div class="section" id="limiting-results">
-<span id="limit-clause"></span><h3>Limiting results<a class="headerlink" href="#limiting-results" title="Permalink to this headline">¶</a></h3>
-<p>The <code class="docutils literal notranslate"><span class="pre">LIMIT</span></code> option to a <code class="docutils literal notranslate"><span class="pre">SELECT</span></code> statement limits the number of rows returned by a query, while the <code class="docutils literal notranslate"><span class="pre">PER</span> <span class="pre">PARTITION</span>
-<span class="pre">LIMIT</span></code> option limits the number of rows returned for a given partition by the query. Note that both type of limit can
-used in the same statement.</p>
-</div>
-<div class="section" id="allowing-filtering">
-<span id="allow-filtering"></span><h3>Allowing filtering<a class="headerlink" href="#allowing-filtering" title="Permalink to this headline">¶</a></h3>
-<p>By default, CQL only allows select queries that don’t involve “filtering” server side, i.e. queries where we know that
-all (live) record read will be returned (maybe partly) in the result set. The reasoning is that those “non filtering”
-queries have predictable performance in the sense that they will execute in a time that is proportional to the amount of
-data <strong>returned</strong> by the query (which can be controlled through <code class="docutils literal notranslate"><span class="pre">LIMIT</span></code>).</p>
-<p>The <code class="docutils literal notranslate"><span class="pre">ALLOW</span> <span class="pre">FILTERING</span></code> option allows to explicitly allow (some) queries that require filtering. Please note that a
-query using <code class="docutils literal notranslate"><span class="pre">ALLOW</span> <span class="pre">FILTERING</span></code> may thus have unpredictable performance (for the definition above), i.e. even a query
-that selects a handful of records <strong>may</strong> exhibit performance that depends on the total amount of data stored in the
-cluster.</p>
-<p>For instance, considering the following table holding user profiles with their year of birth (with a secondary index on
-it) and country of residence:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">TABLE</span> <span class="k">users</span> <span class="p">(</span>
-    <span class="n">username</span> <span class="nb">text</span> <span class="k">PRIMARY</span> <span class="k">KEY</span><span class="p">,</span>
-    <span class="n">firstname</span> <span class="nb">text</span><span class="p">,</span>
-    <span class="n">lastname</span> <span class="nb">text</span><span class="p">,</span>
-    <span class="n">birth_year</span> <span class="nb">int</span><span class="p">,</span>
-    <span class="n">country</span> <span class="nb">text</span>
-<span class="p">)</span>
-
-<span class="k">CREATE</span> <span class="k">INDEX</span> <span class="k">ON</span> <span class="k">users</span><span class="p">(</span><span class="n">birth_year</span><span class="p">);</span>
-</pre></div>
-</div>
-<p>Then the following queries are valid:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="k">users</span><span class="p">;</span>
-<span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="k">users</span> <span class="k">WHERE</span> <span class="n">birth_year</span> <span class="o">=</span> <span class="mf">1981</span><span class="p">;</span>
-</pre></div>
-</div>
-<p>because in both case, Cassandra guarantees that these queries performance will be proportional to the amount of data
-returned. In particular, if no users are born in 1981, then the second query performance will not depend of the number
-of user profile stored in the database (not directly at least: due to secondary index implementation consideration, this
-query may still depend on the number of node in the cluster, which indirectly depends on the amount of data stored.
-Nevertheless, the number of nodes will always be multiple number of magnitude lower than the number of user profile
-stored). Of course, both query may return very large result set in practice, but the amount of data returned can always
-be controlled by adding a <code class="docutils literal notranslate"><span class="pre">LIMIT</span></code>.</p>
-<p>However, the following query will be rejected:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="k">users</span> <span class="k">WHERE</span> <span class="n">birth_year</span> <span class="o">=</span> <span class="mf">1981</span> <span class="k">AND</span> <span class="n">country</span> <span class="o">=</span> <span class="s1">&#39;FR&#39;</span><span class="p">;</span>
-</pre></div>
-</div>
-<p>because Cassandra cannot guarantee that it won’t have to scan large amount of data even if the result to those query is
-small. Typically, it will scan all the index entries for users born in 1981 even if only a handful are actually from
-France. However, if you “know what you are doing”, you can force the execution of this query by using <code class="docutils literal notranslate"><span class="pre">ALLOW</span>
-<span class="pre">FILTERING</span></code> and so the following query is valid:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="k">users</span> <span class="k">WHERE</span> <span class="n">birth_year</span> <span class="o">=</span> <span class="mf">1981</span> <span class="k">AND</span> <span class="n">country</span> <span class="o">=</span> <span class="s1">&#39;FR&#39;</span> <span class="k">ALLOW</span> <span class="k">FILTERING</span><s [...]
-</pre></div>
-</div>
-</div>
-</div>
-<div class="section" id="insert">
-<span id="insert-statement"></span><h2>INSERT<a class="headerlink" href="#insert" title="Permalink to this headline">¶</a></h2>
-<p>Inserting data for a row is done using an <code class="docutils literal notranslate"><span class="pre">INSERT</span></code> statement:</p>
-<pre>
-<strong id="grammar-token-insert-statement">insert_statement</strong> ::=  INSERT INTO <a class="reference internal" href="ddl.html#grammar-token-table-name"><code class="xref docutils literal notranslate"><span class="pre">table_name</span></code></a> ( <a class="reference internal" href="#grammar-token-names-values"><code class="xref docutils literal notranslate"><span class="pre">names_values</span></code></a> | <a class="reference internal" href="#grammar-token-json-clause"><code cla [...]
-                      [ IF NOT EXISTS ]
-                      [ USING <a class="reference internal" href="#grammar-token-update-parameter"><code class="xref docutils literal notranslate"><span class="pre">update_parameter</span></code></a> ( AND <a class="reference internal" href="#grammar-token-update-parameter"><code class="xref docutils literal notranslate"><span class="pre">update_parameter</span></code></a> )* ]
-<strong id="grammar-token-names-values">names_values    </strong> ::=  <a class="reference internal" href="#grammar-token-names"><code class="xref docutils literal notranslate"><span class="pre">names</span></code></a> VALUES <a class="reference internal" href="types.html#grammar-token-tuple-literal"><code class="xref docutils literal notranslate"><span class="pre">tuple_literal</span></code></a>
-<strong id="grammar-token-json-clause">json_clause     </strong> ::=  JSON <a class="reference internal" href="definitions.html#grammar-token-string"><code class="xref docutils literal notranslate"><span class="pre">string</span></code></a> [ DEFAULT ( NULL | UNSET ) ]
-<strong id="grammar-token-names">names           </strong> ::=  '(' <a class="reference internal" href="ddl.html#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> ( ',' <a class="reference internal" href="ddl.html#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> )* ')'
-</pre>
-<p>For instance:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">INSERT</span> <span class="k">INTO</span> <span class="n">NerdMovies</span> <span class="p">(</span><span class="n">movie</span><span class="p">,</span> <span class="n">director</span><span class="p">,</span> <span class="n">main_actor</span><span class="p">,</span> <span class="n">year</span><span class="p">)</span>
-                <span class="k">VALUES</span> <span class="p">(</span><span class="s1">&#39;Serenity&#39;</span><span class="p">,</span> <span class="s1">&#39;Joss Whedon&#39;</span><span class="p">,</span> <span class="s1">&#39;Nathan Fillion&#39;</span><span class="p">,</span> <span class="mf">2005</span><span class="p">)</span>
-      <span class="k">USING</span> <span class="k">TTL</span> <span class="mf">86400</span><span class="p">;</span>
-
-<span class="k">INSERT</span> <span class="k">INTO</span> <span class="n">NerdMovies</span> <span class="k">JSON</span> <span class="s1">&#39;{&quot;movie&quot;: &quot;Serenity&quot;,</span>
-<span class="s1">                              &quot;director&quot;: &quot;Joss Whedon&quot;,</span>
-<span class="s1">                              &quot;year&quot;: 2005}&#39;</span><span class="p">;</span>
-</pre></div>
-</div>
-<p>The <code class="docutils literal notranslate"><span class="pre">INSERT</span></code> statement writes one or more columns for a given row in a table. Note that since a row is identified by
-its <code class="docutils literal notranslate"><span class="pre">PRIMARY</span> <span class="pre">KEY</span></code>, at least the columns composing it must be specified. The list of columns to insert to must be
-supplied when using the <code class="docutils literal notranslate"><span class="pre">VALUES</span></code> syntax. When using the <code class="docutils literal notranslate"><span class="pre">JSON</span></code> syntax, they are optional. See the
-section on <a class="reference internal" href="json.html#cql-json"><span class="std std-ref">JSON support</span></a> for more detail.</p>
-<p>Note that unlike in SQL, <code class="docutils literal notranslate"><span class="pre">INSERT</span></code> does not check the prior existence of the row by default: the row is created if none
-existed before, and updated otherwise. Furthermore, there is no mean to know which of creation or update happened.</p>
-<p>It is however possible to use the <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXISTS</span></code> condition to only insert if the row does not exist prior to the
-insertion. But please note that using <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXISTS</span></code> will incur a non negligible performance cost (internally, Paxos
-will be used) so this should be used sparingly.</p>
-<p>All updates for an <code class="docutils literal notranslate"><span class="pre">INSERT</span></code> are applied atomically and in isolation.</p>
-<p>Please refer to the <a class="reference internal" href="#update-parameters"><span class="std std-ref">UPDATE</span></a> section for informations on the <a class="reference internal" href="#grammar-token-update-parameter"><code class="xref std std-token docutils literal notranslate"><span class="pre">update_parameter</span></code></a>.</p>
-<p>Also note that <code class="docutils literal notranslate"><span class="pre">INSERT</span></code> does not support counters, while <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> does.</p>
-</div>
-<div class="section" id="update">
-<span id="update-statement"></span><h2>UPDATE<a class="headerlink" href="#update" title="Permalink to this headline">¶</a></h2>
-<p>Updating a row is done using an <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> statement:</p>
-<pre>
-<strong id="grammar-token-update-statement">update_statement</strong> ::=  UPDATE <a class="reference internal" href="ddl.html#grammar-token-table-name"><code class="xref docutils literal notranslate"><span class="pre">table_name</span></code></a>
-                      [ USING <a class="reference internal" href="#grammar-token-update-parameter"><code class="xref docutils literal notranslate"><span class="pre">update_parameter</span></code></a> ( AND <a class="reference internal" href="#grammar-token-update-parameter"><code class="xref docutils literal notranslate"><span class="pre">update_parameter</span></code></a> )* ]
-                      SET <a class="reference internal" href="#grammar-token-assignment"><code class="xref docutils literal notranslate"><span class="pre">assignment</span></code></a> ( ',' <a class="reference internal" href="#grammar-token-assignment"><code class="xref docutils literal notranslate"><span class="pre">assignment</span></code></a> )*
-                      WHERE <a class="reference internal" href="#grammar-token-where-clause"><code class="xref docutils literal notranslate"><span class="pre">where_clause</span></code></a>
-                      [ IF ( EXISTS | <a class="reference internal" href="#grammar-token-condition"><code class="xref docutils literal notranslate"><span class="pre">condition</span></code></a> ( AND <a class="reference internal" href="#grammar-token-condition"><code class="xref docutils literal notranslate"><span class="pre">condition</span></code></a> )*) ]
-<strong id="grammar-token-update-parameter">update_parameter</strong> ::=  ( TIMESTAMP | TTL ) ( <a class="reference internal" href="definitions.html#grammar-token-integer"><code class="xref docutils literal notranslate"><span class="pre">integer</span></code></a> | <a class="reference internal" href="definitions.html#grammar-token-bind-marker"><code class="xref docutils literal notranslate"><span class="pre">bind_marker</span></code></a> )
-<strong id="grammar-token-assignment">assignment      </strong> ::=  <a class="reference internal" href="#grammar-token-simple-selection"><code class="xref docutils literal notranslate"><span class="pre">simple_selection</span></code></a> '=' <a class="reference internal" href="definitions.html#grammar-token-term"><code class="xref docutils literal notranslate"><span class="pre">term</span></code></a>
-                     | <a class="reference internal" href="ddl.html#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> '=' <a class="reference internal" href="ddl.html#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> ( '+' | '-' ) <a class="reference internal" href="definitions.html#grammar-token-term"><code class="xref docutils literal notrans [...]
-                     | <a class="reference internal" href="ddl.html#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> '=' <a class="reference internal" href="types.html#grammar-token-list-literal"><code class="xref docutils literal notranslate"><span class="pre">list_literal</span></code></a> '+' <a class="reference internal" href="ddl.html#grammar-token-column-name"><code class="xref docutils literal notranslate">< [...]
-<strong id="grammar-token-simple-selection">simple_selection</strong> ::=  <a class="reference internal" href="ddl.html#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a>
-                     | <a class="reference internal" href="ddl.html#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> '[' <a class="reference internal" href="definitions.html#grammar-token-term"><code class="xref docutils literal notranslate"><span class="pre">term</span></code></a> ']'
-                     | <a class="reference internal" href="ddl.html#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> '.' `field_name
-<strong id="grammar-token-condition">condition       </strong> ::=  <a class="reference internal" href="#grammar-token-simple-selection"><code class="xref docutils literal notranslate"><span class="pre">simple_selection</span></code></a> <a class="reference internal" href="#grammar-token-operator"><code class="xref docutils literal notranslate"><span class="pre">operator</span></code></a> <a class="reference internal" href="definitions.html#grammar-token-term"><code class="xref docutils  [...]
-</pre>
-<p>For instance:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">UPDATE</span> <span class="n">NerdMovies</span> <span class="k">USING</span> <span class="k">TTL</span> <span class="mf">400</span>
-   <span class="k">SET</span> <span class="n">director</span>   <span class="o">=</span> <span class="s1">&#39;Joss Whedon&#39;</span><span class="p">,</span>
-       <span class="n">main_actor</span> <span class="o">=</span> <span class="s1">&#39;Nathan Fillion&#39;</span><span class="p">,</span>
-       <span class="n">year</span>       <span class="o">=</span> <span class="mf">2005</span>
- <span class="k">WHERE</span> <span class="n">movie</span> <span class="o">=</span> <span class="s1">&#39;Serenity&#39;</span><span class="p">;</span>
-
-<span class="k">UPDATE</span> <span class="n">UserActions</span>
-   <span class="k">SET</span> <span class="n">total</span> <span class="o">=</span> <span class="n">total</span> <span class="o">+</span> <span class="mf">2</span>
-   <span class="k">WHERE</span> <span class="k">user</span> <span class="o">=</span> <span class="m">B70DE1D0-9908-4AE3-BE34-5573E5B09F14</span>
-     <span class="k">AND</span> <span class="n">action</span> <span class="o">=</span> <span class="s1">&#39;click&#39;</span><span class="p">;</span>
-</pre></div>
-</div>
-<p>The <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> statement writes one or more columns for a given row in a table. The <a class="reference internal" href="#grammar-token-where-clause"><code class="xref std std-token docutils literal notranslate"><span class="pre">where_clause</span></code></a> is used to
-select the row to update and must include all columns composing the <code class="docutils literal notranslate"><span class="pre">PRIMARY</span> <span class="pre">KEY</span></code>. Non primary key columns are then
-set using the <code class="docutils literal notranslate"><span class="pre">SET</span></code> keyword.</p>
-<p>Note that unlike in SQL, <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> does not check the prior existence of the row by default (except through <code class="docutils literal notranslate"><span class="pre">IF</span></code>, see
-below): the row is created if none existed before, and updated otherwise. Furthermore, there are no means to know
-whether a creation or update occurred.</p>
-<p>It is however possible to use the conditions on some columns through <code class="docutils literal notranslate"><span class="pre">IF</span></code>, in which case the row will not be updated
-unless the conditions are met. But, please note that using <code class="docutils literal notranslate"><span class="pre">IF</span></code> conditions will incur a non-negligible performance
-cost (internally, Paxos will be used) so this should be used sparingly.</p>
-<p>In an <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> statement, all updates within the same partition key are applied atomically and in isolation.</p>
-<p>Regarding the <a class="reference internal" href="#grammar-token-assignment"><code class="xref std std-token docutils literal notranslate"><span class="pre">assignment</span></code></a>:</p>
-<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">c</span> <span class="pre">=</span> <span class="pre">c</span> <span class="pre">+</span> <span class="pre">3</span></code> is used to increment/decrement counters. The column name after the ‘=’ sign <strong>must</strong> be the same than
-the one before the ‘=’ sign. Note that increment/decrement is only allowed on counters, and are the <em>only</em> update
-operations allowed on counters. See the section on <a class="reference internal" href="types.html#counters"><span class="std std-ref">counters</span></a> for details.</li>
-<li><code class="docutils literal notranslate"><span class="pre">id</span> <span class="pre">=</span> <span class="pre">id</span> <span class="pre">+</span> <span class="pre">&lt;some-collection&gt;</span></code> and <code class="docutils literal notranslate"><span class="pre">id[value1]</span> <span class="pre">=</span> <span class="pre">value2</span></code> are for collections, see the <a class="reference internal" href="types.html#collections"><span class="std std-ref">relevant sectio [...]
-<li><code class="docutils literal notranslate"><span class="pre">id.field</span> <span class="pre">=</span> <span class="pre">3</span></code> is for setting the value of a field on a non-frozen user-defined types. see the <a class="reference internal" href="types.html#udts"><span class="std std-ref">relevant section</span></a> for details.</li>
-</ul>
-<div class="section" id="update-parameters">
-<span id="id3"></span><h3>Update parameters<a class="headerlink" href="#update-parameters" title="Permalink to this headline">¶</a></h3>
-<p>The <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code>, <code class="docutils literal notranslate"><span class="pre">INSERT</span></code> (and <code class="docutils literal notranslate"><span class="pre">DELETE</span></code> and <code class="docutils literal notranslate"><span class="pre">BATCH</span></code> for the <code class="docutils literal notranslate"><span class="pre">TIMESTAMP</span></code>) statements support the following
-parameters:</p>
-<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">TIMESTAMP</span></code>: sets the timestamp for the operation. If not specified, the coordinator will use the current time (in
-microseconds) at the start of statement execution as the timestamp. This is usually a suitable default.</li>
-<li><code class="docutils literal notranslate"><span class="pre">TTL</span></code>: specifies an optional Time To Live (in seconds) for the inserted values. If set, the inserted values are
-automatically removed from the database after the specified time. Note that the TTL concerns the inserted values, not
-the columns themselves. This means that any subsequent update of the column will also reset the TTL (to whatever TTL
-is specified in that update). By default, values never expire. A TTL of 0 is equivalent to no TTL. If the table has a
-default_time_to_live, a TTL of 0 will remove the TTL for the inserted or updated values. A TTL of <code class="docutils literal notranslate"><span class="pre">null</span></code> is equivalent
-to inserting with a TTL of 0.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="delete">
-<span id="delete-statement"></span><h2>DELETE<a class="headerlink" href="#delete" title="Permalink to this headline">¶</a></h2>
-<p>Deleting rows or parts of rows uses the <code class="docutils literal notranslate"><span class="pre">DELETE</span></code> statement:</p>
-<pre>
-<strong id="grammar-token-delete-statement">delete_statement</strong> ::=  DELETE [ <a class="reference internal" href="#grammar-token-simple-selection"><code class="xref docutils literal notranslate"><span class="pre">simple_selection</span></code></a> ( ',' <a class="reference internal" href="#grammar-token-simple-selection"><code class="xref docutils literal notranslate"><span class="pre">simple_selection</span></code></a> ) ]
-                      FROM <a class="reference internal" href="ddl.html#grammar-token-table-name"><code class="xref docutils literal notranslate"><span class="pre">table_name</span></code></a>
-                      [ USING <a class="reference internal" href="#grammar-token-update-parameter"><code class="xref docutils literal notranslate"><span class="pre">update_parameter</span></code></a> ( AND <a class="reference internal" href="#grammar-token-update-parameter"><code class="xref docutils literal notranslate"><span class="pre">update_parameter</span></code></a> )* ]
-                      WHERE <a class="reference internal" href="#grammar-token-where-clause"><code class="xref docutils literal notranslate"><span class="pre">where_clause</span></code></a>
-                      [ IF ( EXISTS | <a class="reference internal" href="#grammar-token-condition"><code class="xref docutils literal notranslate"><span class="pre">condition</span></code></a> ( AND <a class="reference internal" href="#grammar-token-condition"><code class="xref docutils literal notranslate"><span class="pre">condition</span></code></a> )*) ]
-</pre>
-<p>For instance:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">DELETE</span> <span class="k">FROM</span> <span class="n">NerdMovies</span> <span class="k">USING</span> <span class="nb">TIMESTAMP</span> <span class="mf">1240003134</span>
- <span class="k">WHERE</span> <span class="n">movie</span> <span class="o">=</span> <span class="s1">&#39;Serenity&#39;</span><span class="p">;</span>
-
-<span class="k">DELETE</span> <span class="n">phone</span> <span class="k">FROM</span> <span class="k">Users</span>
- <span class="k">WHERE</span> <span class="n">userid</span> <span class="k">IN</span> <span class="p">(</span><span class="m">C73DE1D3-AF08-40F3-B124-3FF3E5109F22</span><span class="p">,</span> <span class="m">B70DE1D0-9908-4AE3-BE34-5573E5B09F14</span><span class="p">);</span>
-</pre></div>
-</div>
-<p>The <code class="docutils literal notranslate"><span class="pre">DELETE</span></code> statement deletes columns and rows. If column names are provided directly after the <code class="docutils literal notranslate"><span class="pre">DELETE</span></code> keyword,
-only those columns are deleted from the row indicated by the <code class="docutils literal notranslate"><span class="pre">WHERE</span></code> clause. Otherwise, whole rows are removed.</p>
-<p>The <code class="docutils literal notranslate"><span class="pre">WHERE</span></code> clause specifies which rows are to be deleted. Multiple rows may be deleted with one statement by using an
-<code class="docutils literal notranslate"><span class="pre">IN</span></code> operator. A range of rows may be deleted using an inequality operator (such as <code class="docutils literal notranslate"><span class="pre">&gt;=</span></code>).</p>
-<p><code class="docutils literal notranslate"><span class="pre">DELETE</span></code> supports the <code class="docutils literal notranslate"><span class="pre">TIMESTAMP</span></code> option with the same semantics as in <a class="reference internal" href="#update-parameters"><span class="std std-ref">updates</span></a>.</p>
-<p>In a <code class="docutils literal notranslate"><span class="pre">DELETE</span></code> statement, all deletions within the same partition key are applied atomically and in isolation.</p>
-<p>A <code class="docutils literal notranslate"><span class="pre">DELETE</span></code> operation can be conditional through the use of an <code class="docutils literal notranslate"><span class="pre">IF</span></code> clause, similar to <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> and <code class="docutils literal notranslate"><span class="pre">INSERT</span></code>
-statements. However, as with <code class="docutils literal notranslate"><span class="pre">INSERT</span></code> and <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> statements, this will incur a non-negligible performance cost
-(internally, Paxos will be used) and so should be used sparingly.</p>
-</div>
-<div class="section" id="batch">
-<span id="batch-statement"></span><h2>BATCH<a class="headerlink" href="#batch" title="Permalink to this headline">¶</a></h2>
-<p>Multiple <code class="docutils literal notranslate"><span class="pre">INSERT</span></code>, <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> and <code class="docutils literal notranslate"><span class="pre">DELETE</span></code> can be executed in a single statement by grouping them through a
-<code class="docutils literal notranslate"><span class="pre">BATCH</span></code> statement:</p>
-<pre>
-<strong id="grammar-token-batch-statement">batch_statement       </strong> ::=  BEGIN [ UNLOGGED | COUNTER ] BATCH
-                            [ USING <a class="reference internal" href="#grammar-token-update-parameter"><code class="xref docutils literal notranslate"><span class="pre">update_parameter</span></code></a> ( AND <a class="reference internal" href="#grammar-token-update-parameter"><code class="xref docutils literal notranslate"><span class="pre">update_parameter</span></code></a> )* ]
-                            <a class="reference internal" href="#grammar-token-modification-statement"><code class="xref docutils literal notranslate"><span class="pre">modification_statement</span></code></a> ( ';' <a class="reference internal" href="#grammar-token-modification-statement"><code class="xref docutils literal notranslate"><span class="pre">modification_statement</span></code></a> )*
-                            APPLY BATCH
-<strong id="grammar-token-modification-statement">modification_statement</strong> ::=  <a class="reference internal" href="#grammar-token-insert-statement"><code class="xref docutils literal notranslate"><span class="pre">insert_statement</span></code></a> | <a class="reference internal" href="#grammar-token-update-statement"><code class="xref docutils literal notranslate"><span class="pre">update_statement</span></code></a> | <a class="reference internal" href="#grammar-token-delete-sta [...]
-</pre>
-<p>For instance:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">BEGIN</span> <span class="k">BATCH</span>
-   <span class="k">INSERT</span> <span class="k">INTO</span> <span class="k">users</span> <span class="p">(</span><span class="n">userid</span><span class="p">,</span> <span class="k">password</span><span class="p">,</span> <span class="n">name</span><span class="p">)</span> <span class="k">VALUES</span> <span class="p">(</span><span class="s1">&#39;user2&#39;</span><span class="p">,</span> <span class="s1">&#39;ch@ngem3b&#39;</span><span class="p">,</span> <span class="s1">&#39;second u [...]
-   <span class="k">UPDATE</span> <span class="k">users</span> <span class="k">SET</span> <span class="k">password</span> <span class="o">=</span> <span class="s1">&#39;ps22dhds&#39;</span> <span class="k">WHERE</span> <span class="n">userid</span> <span class="o">=</span> <span class="s1">&#39;user3&#39;</span><span class="p">;</span>
-   <span class="k">INSERT</span> <span class="k">INTO</span> <span class="k">users</span> <span class="p">(</span><span class="n">userid</span><span class="p">,</span> <span class="k">password</span><span class="p">)</span> <span class="k">VALUES</span> <span class="p">(</span><span class="s1">&#39;user4&#39;</span><span class="p">,</span> <span class="s1">&#39;ch@ngem3c&#39;</span><span class="p">);</span>
-   <span class="k">DELETE</span> <span class="n">name</span> <span class="k">FROM</span> <span class="k">users</span> <span class="k">WHERE</span> <span class="n">userid</span> <span class="o">=</span> <span class="s1">&#39;user1&#39;</span><span class="p">;</span>
-<span class="k">APPLY</span> <span class="k">BATCH</span><span class="p">;</span>
-</pre></div>
-</div>
-<p>The <code class="docutils literal notranslate"><span class="pre">BATCH</span></code> statement group multiple modification statements (insertions/updates and deletions) into a single
-statement. It serves several purposes:</p>
-<ul class="simple">
-<li>It saves network round-trips between the client and the server (and sometimes between the server coordinator and the
-replicas) when batching multiple updates.</li>
-<li>All updates in a <code class="docutils literal notranslate"><span class="pre">BATCH</span></code> belonging to a given partition key are performed in isolation.</li>
-<li>By default, all operations in the batch are performed as <em>logged</em>, to ensure all mutations eventually complete (or
-none will). See the notes on <a class="reference internal" href="#unlogged-batches"><span class="std std-ref">UNLOGGED batches</span></a> for more details.</li>
-</ul>
-<p>Note that:</p>
-<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">BATCH</span></code> statements may only contain <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code>, <code class="docutils literal notranslate"><span class="pre">INSERT</span></code> and <code class="docutils literal notranslate"><span class="pre">DELETE</span></code> statements (not other batches for instance).</li>
-<li>Batches are <em>not</em> a full analogue for SQL transactions.</li>
-<li>If a timestamp is not specified for each operation, then all operations will be applied with the same timestamp
-(either one generated automatically, or the timestamp provided at the batch level). Due to Cassandra’s conflict
-resolution procedure in the case of <a class="reference external" href="http://wiki.apache.org/cassandra/FAQ#clocktie">timestamp ties</a>, operations may
-be applied in an order that is different from the order they are listed in the <code class="docutils literal notranslate"><span class="pre">BATCH</span></code> statement. To force a
-particular operation ordering, you must specify per-operation timestamps.</li>
-<li>A LOGGED batch to a single partition will be converted to an UNLOGGED batch as an optimization.</li>
-</ul>
-<div class="section" id="unlogged-batches">
-<span id="id4"></span><h3><code class="docutils literal notranslate"><span class="pre">UNLOGGED</span></code> batches<a class="headerlink" href="#unlogged-batches" title="Permalink to this headline">¶</a></h3>
-<p>By default, Cassandra uses a batch log to ensure all operations in a batch eventually complete or none will (note
-however that operations are only isolated within a single partition).</p>
-<p>There is a performance penalty for batch atomicity when a batch spans multiple partitions. If you do not want to incur
-this penalty, you can tell Cassandra to skip the batchlog with the <code class="docutils literal notranslate"><span class="pre">UNLOGGED</span></code> option. If the <code class="docutils literal notranslate"><span class="pre">UNLOGGED</span></code> option is
-used, a failed batch might leave the patch only partly applied.</p>
-</div>
-<div class="section" id="counter-batches">
-<h3><code class="docutils literal notranslate"><span class="pre">COUNTER</span></code> batches<a class="headerlink" href="#counter-batches" title="Permalink to this headline">¶</a></h3>
-<p>Use the <code class="docutils literal notranslate"><span class="pre">COUNTER</span></code> option for batched counter updates. Unlike other
-updates in Cassandra, counter updates are not idempotent.</p>
-</div>
-</div>
-</div>
-
-
-
-          
-          <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation">
-            
-            <a href="indexes.html" class="btn btn-default pull-right " role="button" title="Secondary Indexes" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
-            
-            
-            <a href="ddl.html" class="btn btn-default" role="button" title="Data Definition" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
-            
-          </div>
-          
-        </div>
-      </div>
-    </div>
-  </div>
-</div>
-
-    <hr />
-
-<footer>
-  <div class="container">
-    <div class="col-md-4 social-blk">
-      <span class="social">
-        <a href="https://twitter.com/cassandra"
-           class="twitter-follow-button"
-           data-show-count="false" data-size="large">Follow @cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-        <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
-           class="twitter-hashtag-button"
-           data-size="large"
-           data-related="ApacheCassandra">Tweet #cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-
-      </span>
-      <a class="subscribe-rss icon-link" href="/feed.xml" title="Subscribe to Blog via RSS">
-          <span><i class="fa fa-rss"></i></span>
-      </a>
-    </div>
-
-    <div class="col-md-8 trademark">
-      <p>&copy; 2016 <a href="http://apache.org">The Apache Software Foundation</a>.
-      Apache, the Apache feather logo, and Apache Cassandra are trademarks of The Apache Software Foundation.
-      <p>
-    </div>
-  </div><!-- /.container -->
-</footer>
-
-<!-- Javascript. Placed here so pages load faster -->
-<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
-<script src="./../../../js/underscore-min.js"></script>
-<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
-
-
-<script src="./../../../js/doctools.js"></script>
-<script src="./../../../js/searchtools.js"></script>
-
- <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:    "", VERSION:     "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE:  false, SOURCELINK_SUFFIX: ".txt" }; </script> 
-
-
-
-<script type="text/javascript">
-  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
-  document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
-
-  try {
-    var pageTracker = _gat._getTracker("UA-11583863-1");
-    pageTracker._trackPageview();
-  } catch(err) {}
-</script>
-
-
-  </body>
-</html>
diff --git a/content/doc/4.0/cql/functions.html b/content/doc/4.0/cql/functions.html
deleted file mode 100644
index 42e818c..0000000
--- a/content/doc/4.0/cql/functions.html
+++ /dev/null
@@ -1,830 +0,0 @@
-<!DOCTYPE html>
-<html>
-  
-
-
-
-<head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="description" content="The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive r [...]
-">
-  <meta name="keywords" content="cassandra, apache, apache cassandra, distributed storage, key value store, scalability, bigtable, dynamo" />
-  <meta name="robots" content="index,follow" />
-  <meta name="language" content="en" />  
-
-  <title>Documentation</title>
-
-  <link rel="canonical" href="http://cassandra.apache.org/doc/4.0/cql/functions.html">
-
-  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
-  <link rel="stylesheet" href="./../../../css/style.css">
-  
-  <link rel="stylesheet" href="./../../../css/sphinx.css">
-  
-
-   <link rel="top" title="Apache Cassandra Documentation v4.0" href="../index.html"/> <link rel="up" title="The Cassandra Query Language (CQL)" href="index.html"/> <link rel="next" title="Arithmetic Operators" href="operators.html"/> <link rel="prev" title="Security" href="security.html"/> 
-  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
-  
-  <link type="application/atom+xml" rel="alternate" href="http://cassandra.apache.org/feed.xml" title="Apache Cassandra Website" />
-</head>
-
-  <body>
-    <!-- breadcrumbs -->
-<div class="topnav">
-  <div class="container breadcrumb-container">
-    <ul class="breadcrumb">
-      <li>
-        <div class="dropdown">
-          <img class="asf-logo" src="./../../../img/asf_feather.png" />
-          <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
-          <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
-            <li><a href="http://www.apache.org">Apache Homepage</a></li>
-            <li><a href="http://www.apache.org/licenses/">License</a></li>
-            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
-            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
-            <li><a href="http://www.apache.org/security/">Security</a></li>
-          </ul>
-        </div>
-      </li>
-
-      
-      <li><a href="./../../../">Apache Cassandra</a></li>
-      
-
-      
-        
-        <li><a href="./../../../doc">Documentation</a></li>
-        
-      
-
-      
-      <li><a href="./">The Cassandra Query Language (CQL)</a></li>
-      
-
-      
-      <li>Functions</li>
-      
-    </ul>
-  </div>
-
-  <!-- navbar -->
-  <nav class="navbar navbar-default navbar-static-top" role="navigation">
-    <div class="container">
-      <div class="navbar-header">
-        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
-          <span class="sr-only">Toggle navigation</span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-        </button>
-        <a class="navbar-brand" href="./../../../"><img src="./../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
-      </div><!-- /.navbar-header -->
-
-      <div id="cassandra-menu" class="collapse navbar-collapse">
-        <ul class="nav navbar-nav navbar-right">
-          <li><a href="./../../../">Home</a></li>
-          <li><a href="./../../../download/">Download</a></li>
-          <li><a href="./../../../doc/">Documentation</a></li>
-          <li><a href="./../../../community/">Community</a></li>
-          <li>
-            <a href="./../../../blog/">Blog</a>
-        </li>
-        </ul>
-      </div><!-- /#cassandra-menu -->
-
-      
-    </div>
-  </nav><!-- /.navbar -->
-</div><!-- /.topnav -->
-
-    <div class="container-fluid">
-  <div class="row">
-    <div class="col-md-3">
-      <div class="doc-navigation">
-        <div class="doc-menu" role="navigation">
-          <div class="navbar-header">
-            <button type="button" class="pull-left navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse">
-              <span class="sr-only">Toggle navigation</span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-            </button>
-          </div>
-          <div class="navbar-collapse collapse sidebar-navbar-collapse">
-            <form id="doc-search-form" class="navbar-form" action="../search.html" method="get" role="search">
-              <div class="form-group">
-                <input type="text" size="30" class="form-control input-sm" name="q" placeholder="Search docs">
-                <input type="hidden" name="check_keywords" value="yes" />
-                <input type="hidden" name="area" value="default" />
-              </div>
-            </form>
-            
-            
-            
-            <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
-<li class="toctree-l1 current"><a class="reference internal" href="index.html">The Cassandra Query Language (CQL)</a><ul class="current">
-<li class="toctree-l2"><a class="reference internal" href="definitions.html">Definitions</a></li>
-<li class="toctree-l2"><a class="reference internal" href="types.html">Data Types</a></li>
-<li class="toctree-l2"><a class="reference internal" href="ddl.html">Data Definition</a></li>
-<li class="toctree-l2"><a class="reference internal" href="dml.html">Data Manipulation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="indexes.html">Secondary Indexes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="mvs.html">Materialized Views</a></li>
-<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Functions</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#scalar-functions">Scalar functions</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#aggregate-functions">Aggregate functions</a></li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="operators.html">Arithmetic Operators</a></li>
-<li class="toctree-l2"><a class="reference internal" href="json.html">JSON Support</a></li>
-<li class="toctree-l2"><a class="reference internal" href="triggers.html">Triggers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="appendices.html">Appendices</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html">Changes</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Contributing to Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">Frequently Asked Questions</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Third-Party Plugins</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li>
-</ul>
-
-            
-            
-          </div><!--/.nav-collapse -->
-        </div>
-      </div>
-    </div>
-    <div class="col-md-8">
-      <div class="content doc-content">
-        <div class="content-container">
-          
-  <span class="target" id="cql-functions"></span><div class="section" id="functions">
-<span id="native-functions"></span><span id="udfs"></span><h1>Functions<a class="headerlink" href="#functions" title="Permalink to this headline">¶</a></h1>
-<p>CQL supports 2 main categories of functions:</p>
-<ul class="simple">
-<li>the <a class="reference internal" href="#scalar-functions"><span class="std std-ref">scalar functions</span></a>, which simply take a number of values and produce an output with it.</li>
-<li>the <a class="reference internal" href="#aggregate-functions"><span class="std std-ref">aggregate functions</span></a>, which are used to aggregate multiple rows results from a
-<code class="docutils literal notranslate"><span class="pre">SELECT</span></code> statement.</li>
-</ul>
-<p>In both cases, CQL provides a number of native “hard-coded” functions as well as the ability to create new user-defined
-functions.</p>
-<div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last">By default, the use of user-defined functions is disabled by default for security concerns (even when
-enabled, the execution of user-defined functions is sandboxed and a “rogue” function should not be allowed to do
-evil, but no sandbox is perfect so using user-defined functions is opt-in). See the <code class="docutils literal notranslate"><span class="pre">enable_user_defined_functions</span></code>
-in <code class="docutils literal notranslate"><span class="pre">cassandra.yaml</span></code> to enable them.</p>
-</div>
-<p>A function is identifier by its name:</p>
-<pre>
-<strong id="grammar-token-function-name">function_name</strong> ::=  [ <a class="reference internal" href="ddl.html#grammar-token-keyspace-name"><code class="xref docutils literal notranslate"><span class="pre">keyspace_name</span></code></a> '.' ] <a class="reference internal" href="ddl.html#grammar-token-name"><code class="xref docutils literal notranslate"><span class="pre">name</span></code></a>
-</pre>
-<div class="section" id="scalar-functions">
-<span id="id1"></span><h2>Scalar functions<a class="headerlink" href="#scalar-functions" title="Permalink to this headline">¶</a></h2>
-<div class="section" id="scalar-native-functions">
-<span id="id2"></span><h3>Native functions<a class="headerlink" href="#scalar-native-functions" title="Permalink to this headline">¶</a></h3>
-<div class="section" id="cast">
-<h4>Cast<a class="headerlink" href="#cast" title="Permalink to this headline">¶</a></h4>
-<p>The <code class="docutils literal notranslate"><span class="pre">cast</span></code> function can be used to converts one native datatype to another.</p>
-<p>The following table describes the conversions supported by the <code class="docutils literal notranslate"><span class="pre">cast</span></code> function. Cassandra will silently ignore any
-cast converting a datatype into its own datatype.</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="13%" />
-<col width="87%" />
-</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">From</th>
-<th class="head">To</th>
-</tr>
-</thead>
-<tbody valign="top">
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">ascii</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">text</span></code>, <code class="docutils literal notranslate"><span class="pre">varchar</span></code></td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">bigint</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">tinyint</span></code>, <code class="docutils literal notranslate"><span class="pre">smallint</span></code>, <code class="docutils literal notranslate"><span class="pre">int</span></code>, <code class="docutils literal notranslate"><span class="pre">float</span></code>, <code class="docutils literal notranslate"><span class="pre">double</span></code>, <code class="docutils literal notranslate"><span class="pre">decimal</span [...]
-<code class="docutils literal notranslate"><span class="pre">varchar</span></code></td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">boolean</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">text</span></code>, <code class="docutils literal notranslate"><span class="pre">varchar</span></code></td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">counter</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">tinyint</span></code>, <code class="docutils literal notranslate"><span class="pre">smallint</span></code>, <code class="docutils literal notranslate"><span class="pre">int</span></code>, <code class="docutils literal notranslate"><span class="pre">bigint</span></code>, <code class="docutils literal notranslate"><span class="pre">float</span></code>, <code class="docutils literal notranslate"><span class="pre">double</span> [...]
-<code class="docutils literal notranslate"><span class="pre">text</span></code>, <code class="docutils literal notranslate"><span class="pre">varchar</span></code></td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">date</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">timestamp</span></code></td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">decimal</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">tinyint</span></code>, <code class="docutils literal notranslate"><span class="pre">smallint</span></code>, <code class="docutils literal notranslate"><span class="pre">int</span></code>, <code class="docutils literal notranslate"><span class="pre">bigint</span></code>, <code class="docutils literal notranslate"><span class="pre">float</span></code>, <code class="docutils literal notranslate"><span class="pre">double</span> [...]
-<code class="docutils literal notranslate"><span class="pre">varchar</span></code></td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">double</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">tinyint</span></code>, <code class="docutils literal notranslate"><span class="pre">smallint</span></code>, <code class="docutils literal notranslate"><span class="pre">int</span></code>, <code class="docutils literal notranslate"><span class="pre">bigint</span></code>, <code class="docutils literal notranslate"><span class="pre">float</span></code>, <code class="docutils literal notranslate"><span class="pre">decimal</span [...]
-<code class="docutils literal notranslate"><span class="pre">varchar</span></code></td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">float</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">tinyint</span></code>, <code class="docutils literal notranslate"><span class="pre">smallint</span></code>, <code class="docutils literal notranslate"><span class="pre">int</span></code>, <code class="docutils literal notranslate"><span class="pre">bigint</span></code>, <code class="docutils literal notranslate"><span class="pre">double</span></code>, <code class="docutils literal notranslate"><span class="pre">decimal</spa [...]
-<code class="docutils literal notranslate"><span class="pre">varchar</span></code></td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">inet</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">text</span></code>, <code class="docutils literal notranslate"><span class="pre">varchar</span></code></td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">int</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">tinyint</span></code>, <code class="docutils literal notranslate"><span class="pre">smallint</span></code>, <code class="docutils literal notranslate"><span class="pre">bigint</span></code>, <code class="docutils literal notranslate"><span class="pre">float</span></code>, <code class="docutils literal notranslate"><span class="pre">double</span></code>, <code class="docutils literal notranslate"><span class="pre">decimal</s [...]
-<code class="docutils literal notranslate"><span class="pre">varchar</span></code></td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">smallint</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">tinyint</span></code>, <code class="docutils literal notranslate"><span class="pre">int</span></code>, <code class="docutils literal notranslate"><span class="pre">bigint</span></code>, <code class="docutils literal notranslate"><span class="pre">float</span></code>, <code class="docutils literal notranslate"><span class="pre">double</span></code>, <code class="docutils literal notranslate"><span class="pre">decimal</span>< [...]
-<code class="docutils literal notranslate"><span class="pre">varchar</span></code></td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">time</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">text</span></code>, <code class="docutils literal notranslate"><span class="pre">varchar</span></code></td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">timestamp</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">date</span></code>, <code class="docutils literal notranslate"><span class="pre">text</span></code>, <code class="docutils literal notranslate"><span class="pre">varchar</span></code></td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">timeuuid</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">timestamp</span></code>, <code class="docutils literal notranslate"><span class="pre">date</span></code>, <code class="docutils literal notranslate"><span class="pre">text</span></code>, <code class="docutils literal notranslate"><span class="pre">varchar</span></code></td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">tinyint</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">tinyint</span></code>, <code class="docutils literal notranslate"><span class="pre">smallint</span></code>, <code class="docutils literal notranslate"><span class="pre">int</span></code>, <code class="docutils literal notranslate"><span class="pre">bigint</span></code>, <code class="docutils literal notranslate"><span class="pre">float</span></code>, <code class="docutils literal notranslate"><span class="pre">double</span> [...]
-<code class="docutils literal notranslate"><span class="pre">text</span></code>, <code class="docutils literal notranslate"><span class="pre">varchar</span></code></td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">uuid</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">text</span></code>, <code class="docutils literal notranslate"><span class="pre">varchar</span></code></td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">varint</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">tinyint</span></code>, <code class="docutils literal notranslate"><span class="pre">smallint</span></code>, <code class="docutils literal notranslate"><span class="pre">int</span></code>, <code class="docutils literal notranslate"><span class="pre">bigint</span></code>, <code class="docutils literal notranslate"><span class="pre">float</span></code>, <code class="docutils literal notranslate"><span class="pre">double</span> [...]
-<code class="docutils literal notranslate"><span class="pre">varchar</span></code></td>
-</tr>
-</tbody>
-</table>
-<p>The conversions rely strictly on Java’s semantics. For example, the double value 1 will be converted to the text value
-‘1.0’. For instance:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="n">avg</span><span class="p">(</span><span class="k">cast</span><span class="p">(</span><span class="k">count</span> <span class="k">as</span> <span class="nb">double</span><span class="p">))</span> <span class="k">FROM</span> <span class="n">myTable</span>
-</pre></div>
-</div>
-</div>
-<div class="section" id="token">
-<h4>Token<a class="headerlink" href="#token" title="Permalink to this headline">¶</a></h4>
-<p>The <code class="docutils literal notranslate"><span class="pre">token</span></code> function allows to compute the token for a given partition key. The exact signature of the token function
-depends on the table concerned and of the partitioner used by the cluster.</p>
-<p>The type of the arguments of the <code class="docutils literal notranslate"><span class="pre">token</span></code> depend on the type of the partition key columns. The return type depend on
-the partitioner in use:</p>
-<ul class="simple">
-<li>For Murmur3Partitioner, the return type is <code class="docutils literal notranslate"><span class="pre">bigint</span></code>.</li>
-<li>For RandomPartitioner, the return type is <code class="docutils literal notranslate"><span class="pre">varint</span></code>.</li>
-<li>For ByteOrderedPartitioner, the return type is <code class="docutils literal notranslate"><span class="pre">blob</span></code>.</li>
-</ul>
-<p>For instance, in a cluster using the default Murmur3Partitioner, if a table is defined by:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">TABLE</span> <span class="k">users</span> <span class="p">(</span>
-    <span class="n">userid</span> <span class="nb">text</span> <span class="k">PRIMARY</span> <span class="k">KEY</span><span class="p">,</span>
-    <span class="n">username</span> <span class="nb">text</span><span class="p">,</span>
-<span class="p">)</span>
-</pre></div>
-</div>
-<p>then the <code class="docutils literal notranslate"><span class="pre">token</span></code> function will take a single argument of type <code class="docutils literal notranslate"><span class="pre">text</span></code> (in that case, the partition key is <code class="docutils literal notranslate"><span class="pre">userid</span></code>
-(there is no clustering columns so the partition key is the same than the primary key)), and the return type will be
-<code class="docutils literal notranslate"><span class="pre">bigint</span></code>.</p>
-</div>
-<div class="section" id="uuid">
-<h4>Uuid<a class="headerlink" href="#uuid" title="Permalink to this headline">¶</a></h4>
-<p>The <code class="docutils literal notranslate"><span class="pre">uuid</span></code> function takes no parameters and generates a random type 4 uuid suitable for use in <code class="docutils literal notranslate"><span class="pre">INSERT</span></code> or
-<code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> statements.</p>
-</div>
-<div class="section" id="timeuuid-functions">
-<span id="id3"></span><h4>Timeuuid functions<a class="headerlink" href="#timeuuid-functions" title="Permalink to this headline">¶</a></h4>
-<div class="section" id="now">
-<h5><code class="docutils literal notranslate"><span class="pre">now</span></code><a class="headerlink" href="#now" title="Permalink to this headline">¶</a></h5>
-<p>The <code class="docutils literal notranslate"><span class="pre">now</span></code> function takes no arguments and generates, on the coordinator node, a new unique timeuuid at the
-time the function is invoked. Note that this method is useful for insertion but is largely non-sensical in
-<code class="docutils literal notranslate"><span class="pre">WHERE</span></code> clauses. For instance, a query of the form:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">myTable</span> <span class="k">WHERE</span> <span class="n">t</span> <span class="o">=</span> <span class="n">now</span><span class="p">()</span>
-</pre></div>
-</div>
-<p>will never return any result by design, since the value returned by <code class="docutils literal notranslate"><span class="pre">now()</span></code> is guaranteed to be unique.</p>
-<p><code class="docutils literal notranslate"><span class="pre">currentTimeUUID</span></code> is an alias of <code class="docutils literal notranslate"><span class="pre">now</span></code>.</p>
-</div>
-<div class="section" id="mintimeuuid-and-maxtimeuuid">
-<h5><code class="docutils literal notranslate"><span class="pre">minTimeuuid</span></code> and <code class="docutils literal notranslate"><span class="pre">maxTimeuuid</span></code><a class="headerlink" href="#mintimeuuid-and-maxtimeuuid" title="Permalink to this headline">¶</a></h5>
-<p>The <code class="docutils literal notranslate"><span class="pre">minTimeuuid</span></code> (resp. <code class="docutils literal notranslate"><span class="pre">maxTimeuuid</span></code>) function takes a <code class="docutils literal notranslate"><span class="pre">timestamp</span></code> value <code class="docutils literal notranslate"><span class="pre">t</span></code> (which can be <cite>either a timestamp
-or a date string &lt;timestamps&gt;</cite>) and return a <em>fake</em> <code class="docutils literal notranslate"><span class="pre">timeuuid</span></code> corresponding to the <em>smallest</em> (resp. <em>biggest</em>)
-possible <code class="docutils literal notranslate"><span class="pre">timeuuid</span></code> having for timestamp <code class="docutils literal notranslate"><span class="pre">t</span></code>. So for instance:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">myTable</span>
- <span class="k">WHERE</span> <span class="n">t</span> <span class="o">&gt;</span> <span class="n">maxTimeuuid</span><span class="p">(</span><span class="s1">&#39;2013-01-01 00:05+0000&#39;</span><span class="p">)</span>
-   <span class="k">AND</span> <span class="n">t</span> <span class="o">&lt;</span> <span class="n">minTimeuuid</span><span class="p">(</span><span class="s1">&#39;2013-02-02 10:00+0000&#39;</span><span class="p">)</span>
-</pre></div>
-</div>
-<p>will select all rows where the <code class="docutils literal notranslate"><span class="pre">timeuuid</span></code> column <code class="docutils literal notranslate"><span class="pre">t</span></code> is strictly older than <code class="docutils literal notranslate"><span class="pre">'2013-01-01</span> <span class="pre">00:05+0000'</span></code> but strictly
-younger than <code class="docutils literal notranslate"><span class="pre">'2013-02-02</span> <span class="pre">10:00+0000'</span></code>. Please note that <code class="docutils literal notranslate"><span class="pre">t</span> <span class="pre">&gt;=</span> <span class="pre">maxTimeuuid('2013-01-01</span> <span class="pre">00:05+0000')</span></code> would still
-<em>not</em> select a <code class="docutils literal notranslate"><span class="pre">timeuuid</span></code> generated exactly at ‘2013-01-01 00:05+0000’ and is essentially equivalent to <code class="docutils literal notranslate"><span class="pre">t</span> <span class="pre">&gt;</span>
-<span class="pre">maxTimeuuid('2013-01-01</span> <span class="pre">00:05+0000')</span></code>.</p>
-<div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last">We called the values generated by <code class="docutils literal notranslate"><span class="pre">minTimeuuid</span></code> and <code class="docutils literal notranslate"><span class="pre">maxTimeuuid</span></code> <em>fake</em> UUID because they do no respect
-the Time-Based UUID generation process specified by the <a class="reference external" href="http://www.ietf.org/rfc/rfc4122.txt">RFC 4122</a>. In
-particular, the value returned by these 2 methods will not be unique. This means you should only use those methods
-for querying (as in the example above). Inserting the result of those methods is almost certainly <em>a bad idea</em>.</p>
-</div>
-</div>
-</div>
-<div class="section" id="datetime-functions">
-<h4>Datetime functions<a class="headerlink" href="#datetime-functions" title="Permalink to this headline">¶</a></h4>
-<div class="section" id="retrieving-the-current-date-time">
-<h5>Retrieving the current date/time<a class="headerlink" href="#retrieving-the-current-date-time" title="Permalink to this headline">¶</a></h5>
-<p>The following functions can be used to retrieve the date/time at the time where the function is invoked:</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="58%" />
-<col width="42%" />
-</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Function name</th>
-<th class="head">Output type</th>
-</tr>
-</thead>
-<tbody valign="top">
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">currentTimestamp</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">timestamp</span></code></td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">currentDate</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">date</span></code></td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">currentTime</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">time</span></code></td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">currentTimeUUID</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">timeUUID</span></code></td>
-</tr>
-</tbody>
-</table>
-<p>For example the last 2 days of data can be retrieved using:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">myTable</span> <span class="k">WHERE</span> <span class="nb">date</span> <span class="o">&gt;=</span> <span class="n">currentDate</span><span class="p">()</span> <span class="o">-</span> <span class="mf">2</span><span class="n">d</span>
-</pre></div>
-</div>
-</div>
-<div class="section" id="time-conversion-functions">
-<h5>Time conversion functions<a class="headerlink" href="#time-conversion-functions" title="Permalink to this headline">¶</a></h5>
-<p>A number of functions are provided to “convert” a <code class="docutils literal notranslate"><span class="pre">timeuuid</span></code>, a <code class="docutils literal notranslate"><span class="pre">timestamp</span></code> or a <code class="docutils literal notranslate"><span class="pre">date</span></code> into another <code class="docutils literal notranslate"><span class="pre">native</span></code>
-type.</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="20%" />
-<col width="15%" />
-<col width="65%" />
-</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Function name</th>
-<th class="head">Input type</th>
-<th class="head">Description</th>
-</tr>
-</thead>
-<tbody valign="top">
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">toDate</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">timeuuid</span></code></td>
-<td>Converts the <code class="docutils literal notranslate"><span class="pre">timeuuid</span></code> argument into a <code class="docutils literal notranslate"><span class="pre">date</span></code> type</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">toDate</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">timestamp</span></code></td>
-<td>Converts the <code class="docutils literal notranslate"><span class="pre">timestamp</span></code> argument into a <code class="docutils literal notranslate"><span class="pre">date</span></code> type</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">toTimestamp</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">timeuuid</span></code></td>
-<td>Converts the <code class="docutils literal notranslate"><span class="pre">timeuuid</span></code> argument into a <code class="docutils literal notranslate"><span class="pre">timestamp</span></code> type</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">toTimestamp</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">date</span></code></td>
-<td>Converts the <code class="docutils literal notranslate"><span class="pre">date</span></code> argument into a <code class="docutils literal notranslate"><span class="pre">timestamp</span></code> type</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">toUnixTimestamp</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">timeuuid</span></code></td>
-<td>Converts the <code class="docutils literal notranslate"><span class="pre">timeuuid</span></code> argument into a <code class="docutils literal notranslate"><span class="pre">bigInt</span></code> raw value</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">toUnixTimestamp</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">timestamp</span></code></td>
-<td>Converts the <code class="docutils literal notranslate"><span class="pre">timestamp</span></code> argument into a <code class="docutils literal notranslate"><span class="pre">bigInt</span></code> raw value</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">toUnixTimestamp</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">date</span></code></td>
-<td>Converts the <code class="docutils literal notranslate"><span class="pre">date</span></code> argument into a <code class="docutils literal notranslate"><span class="pre">bigInt</span></code> raw value</td>
-</tr>
-<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">dateOf</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">timeuuid</span></code></td>
-<td>Similar to <code class="docutils literal notranslate"><span class="pre">toTimestamp(timeuuid)</span></code> (DEPRECATED)</td>
-</tr>
-<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">unixTimestampOf</span></code></td>
-<td><code class="docutils literal notranslate"><span class="pre">timeuuid</span></code></td>
-<td>Similar to <code class="docutils literal notranslate"><span class="pre">toUnixTimestamp(timeuuid)</span></code> (DEPRECATED)</td>
-</tr>
-</tbody>
-</table>
-</div>
-</div>
-<div class="section" id="blob-conversion-functions">
-<h4>Blob conversion functions<a class="headerlink" href="#blob-conversion-functions" title="Permalink to this headline">¶</a></h4>
-<p>A number of functions are provided to “convert” the native types into binary data (<code class="docutils literal notranslate"><span class="pre">blob</span></code>). For every
-<code class="docutils literal notranslate"><span class="pre">&lt;native-type&gt;</span></code> <code class="docutils literal notranslate"><span class="pre">type</span></code> supported by CQL (a notable exceptions is <code class="docutils literal notranslate"><span class="pre">blob</span></code>, for obvious reasons), the function
-<code class="docutils literal notranslate"><span class="pre">typeAsBlob</span></code> takes a argument of type <code class="docutils literal notranslate"><span class="pre">type</span></code> and return it as a <code class="docutils literal notranslate"><span class="pre">blob</span></code>. Conversely, the function <code class="docutils literal notranslate"><span class="pre">blobAsType</span></code>
-takes a 64-bit <code class="docutils literal notranslate"><span class="pre">blob</span></code> argument and convert it to a <code class="docutils literal notranslate"><span class="pre">bigint</span></code> value. And so for instance, <code class="docutils literal notranslate"><span class="pre">bigintAsBlob(3)</span></code> is
-<code class="docutils literal notranslate"><span class="pre">0x0000000000000003</span></code> and <code class="docutils literal notranslate"><span class="pre">blobAsBigint(0x0000000000000003)</span></code> is <code class="docutils literal notranslate"><span class="pre">3</span></code>.</p>
-</div>
-</div>
-<div class="section" id="user-defined-functions">
-<span id="user-defined-scalar-functions"></span><h3>User-defined functions<a class="headerlink" href="#user-defined-functions" title="Permalink to this headline">¶</a></h3>
-<p>User-defined functions allow execution of user-provided code in Cassandra. By default, Cassandra supports defining
-functions in <em>Java</em> and <em>JavaScript</em>. Support for other JSR 223 compliant scripting languages (such as Python, Ruby, and
-Scala) can be added by adding a JAR to the classpath.</p>
-<p>UDFs are part of the Cassandra schema. As such, they are automatically propagated to all nodes in the cluster.</p>
-<p>UDFs can be <em>overloaded</em> - i.e. multiple UDFs with different argument types but the same function name. Example:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">FUNCTION</span> <span class="n">sample</span> <span class="p">(</span> <span class="n">arg</span> <span class="nb">int</span> <span class="p">)</span> <span class="mf">...</span><span class="p">;</span>
-<span class="k">CREATE</span> <span class="k">FUNCTION</span> <span class="n">sample</span> <span class="p">(</span> <span class="n">arg</span> <span class="nb">text</span> <span class="p">)</span> <span class="mf">...</span><span class="p">;</span>
-</pre></div>
-</div>
-<p>User-defined functions are susceptible to all of the normal problems with the chosen programming language. Accordingly,
-implementations should be safe against null pointer exceptions, illegal arguments, or any other potential source of
-exceptions. An exception during function execution will result in the entire statement failing.</p>
-<p>It is valid to use <em>complex</em> types like collections, tuple types and user-defined types as argument and return types.
-Tuple types and user-defined types are handled by the conversion functions of the DataStax Java Driver. Please see the
-documentation of the Java Driver for details on handling tuple types and user-defined types.</p>
-<p>Arguments for functions can be literals or terms. Prepared statement placeholders can be used, too.</p>
-<p>Note that you can use the double-quoted string syntax to enclose the UDF source code. For example:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">FUNCTION</span> <span class="n">some_function</span> <span class="p">(</span> <span class="n">arg</span> <span class="nb">int</span> <span class="p">)</span>
-    <span class="k">RETURNS</span> <span class="k">NULL</span> <span class="k">ON</span> <span class="k">NULL</span> <span class="k">INPUT</span>
-    <span class="k">RETURNS</span> <span class="nb">int</span>
-    <span class="k">LANGUAGE</span> <span class="n">java</span>
-    <span class="k">AS</span> <span class="s">$$</span> <span class="k">return</span> <span class="n">arg</span><span class="o">;</span> <span class="s">$$</span><span class="p">;</span>
-
-<span class="k">SELECT</span> <span class="n">some_function</span><span class="p">(</span><span class="n">column</span><span class="p">)</span> <span class="k">FROM</span> <span class="n">atable</span> <span class="mf">...</span><span class="p">;</span>
-<span class="k">UPDATE</span> <span class="n">atable</span> <span class="k">SET</span> <span class="n">col</span> <span class="o">=</span> <span class="n">some_function</span><span class="p">(</span><span class="o">?</span><span class="p">)</span> <span class="mf">...</span><span class="p">;</span>
-
-<span class="k">CREATE</span> <span class="k">TYPE</span> <span class="n">custom_type</span> <span class="p">(</span><span class="n">txt</span> <span class="nb">text</span><span class="p">,</span> <span class="n">i</span> <span class="nb">int</span><span class="p">);</span>
-<span class="k">CREATE</span> <span class="k">FUNCTION</span> <span class="n">fct_using_udt</span> <span class="p">(</span> <span class="n">udtarg</span> <span class="k">frozen</span> <span class="p">)</span>
-    <span class="k">RETURNS</span> <span class="k">NULL</span> <span class="k">ON</span> <span class="k">NULL</span> <span class="k">INPUT</span>
-    <span class="k">RETURNS</span> <span class="nb">text</span>
-    <span class="k">LANGUAGE</span> <span class="n">java</span>
-    <span class="k">AS</span> <span class="s">$$</span> <span class="k">return</span> <span class="n">udtarg</span><span class="o">.</span><span class="na">getString</span><span class="o">(</span><span class="s">&quot;txt&quot;</span><span class="o">);</span> <span class="s">$$</span><span class="p">;</span>
-</pre></div>
-</div>
-<p>User-defined functions can be used in <code class="docutils literal notranslate"><span class="pre">SELECT</span></code>, <code class="docutils literal notranslate"><span class="pre">INSERT</span></code> and <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> statements.</p>
-<p>The implicitly available <code class="docutils literal notranslate"><span class="pre">udfContext</span></code> field (or binding for script UDFs) provides the necessary functionality to
-create new UDT and tuple values:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">TYPE</span> <span class="n">custom_type</span> <span class="p">(</span><span class="n">txt</span> <span class="nb">text</span><span class="p">,</span> <span class="n">i</span> <span class="nb">int</span><span class="p">);</span>
-<span class="k">CREATE</span> <span class="k">FUNCTION</span> <span class="n">fct</span><span class="err">\</span><span class="n">_using</span><span class="err">\</span><span class="n">_udt</span> <span class="p">(</span> <span class="n">somearg</span> <span class="nb">int</span> <span class="p">)</span>
-    <span class="k">RETURNS</span> <span class="k">NULL</span> <span class="k">ON</span> <span class="k">NULL</span> <span class="k">INPUT</span>
-    <span class="k">RETURNS</span> <span class="n">custom_type</span>
-    <span class="k">LANGUAGE</span> <span class="n">java</span>
-    <span class="k">AS</span> <span class="s">$$</span>
-        <span class="n">UDTValue</span> <span class="n">udt</span> <span class="o">=</span> <span class="n">udfContext</span><span class="o">.</span><span class="na">newReturnUDTValue</span><span class="o">();</span>
-        <span class="n">udt</span><span class="o">.</span><span class="na">setString</span><span class="o">(</span><span class="s">&quot;txt&quot;</span><span class="o">,</span> <span class="s">&quot;some string&quot;</span><span class="o">);</span>
-        <span class="n">udt</span><span class="o">.</span><span class="na">setInt</span><span class="o">(</span><span class="s">&quot;i&quot;</span><span class="o">,</span> <span class="mi">42</span><span class="o">);</span>
-        <span class="k">return</span> <span class="n">udt</span><span class="o">;</span>
-    <span class="s">$$</span><span class="p">;</span>
-</pre></div>
-</div>
-<p>The definition of the <code class="docutils literal notranslate"><span class="pre">UDFContext</span></code> interface can be found in the Apache Cassandra source code for
-<code class="docutils literal notranslate"><span class="pre">org.apache.cassandra.cql3.functions.UDFContext</span></code>.</p>
-<div class="highlight-java notranslate"><div class="highlight"><pre><span></span><span class="kd">public</span> <span class="kd">interface</span> <span class="nc">UDFContext</span>
-<span class="o">{</span>
-    <span class="n">UDTValue</span> <span class="nf">newArgUDTValue</span><span class="o">(</span><span class="n">String</span> <span class="n">argName</span><span class="o">);</span>
-    <span class="n">UDTValue</span> <span class="nf">newArgUDTValue</span><span class="o">(</span><span class="kt">int</span> <span class="n">argNum</span><span class="o">);</span>
-    <span class="n">UDTValue</span> <span class="nf">newReturnUDTValue</span><span class="o">();</span>
-    <span class="n">UDTValue</span> <span class="nf">newUDTValue</span><span class="o">(</span><span class="n">String</span> <span class="n">udtName</span><span class="o">);</span>
-    <span class="n">TupleValue</span> <span class="nf">newArgTupleValue</span><span class="o">(</span><span class="n">String</span> <span class="n">argName</span><span class="o">);</span>
-    <span class="n">TupleValue</span> <span class="nf">newArgTupleValue</span><span class="o">(</span><span class="kt">int</span> <span class="n">argNum</span><span class="o">);</span>
-    <span class="n">TupleValue</span> <span class="nf">newReturnTupleValue</span><span class="o">();</span>
-    <span class="n">TupleValue</span> <span class="nf">newTupleValue</span><span class="o">(</span><span class="n">String</span> <span class="n">cqlDefinition</span><span class="o">);</span>
-<span class="o">}</span>
-</pre></div>
-</div>
-<p>Java UDFs already have some imports for common interfaces and classes defined. These imports are:</p>
-<div class="highlight-java notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">java.nio.ByteBuffer</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">java.util.List</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">java.util.Map</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">java.util.Set</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">org.apache.cassandra.cql3.functions.UDFContext</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">com.datastax.driver.core.TypeCodec</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">com.datastax.driver.core.TupleValue</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">com.datastax.driver.core.UDTValue</span><span class="o">;</span>
-</pre></div>
-</div>
-<p>Please note, that these convenience imports are not available for script UDFs.</p>
-<div class="section" id="create-function">
-<span id="create-function-statement"></span><h4>CREATE FUNCTION<a class="headerlink" href="#create-function" title="Permalink to this headline">¶</a></h4>
-<p>Creating a new user-defined function uses the <code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">FUNCTION</span></code> statement:</p>
-<pre>
-<strong id="grammar-token-create-function-statement">create_function_statement</strong> ::=  CREATE [ OR REPLACE ] FUNCTION [ IF NOT EXISTS]
-                                   <a class="reference internal" href="#grammar-token-function-name"><code class="xref docutils literal notranslate"><span class="pre">function_name</span></code></a> '(' <a class="reference internal" href="#grammar-token-arguments-declaration"><code class="xref docutils literal notranslate"><span class="pre">arguments_declaration</span></code></a> ')'
-                                   [ CALLED | RETURNS NULL ] ON NULL INPUT
-                                   RETURNS <a class="reference internal" href="types.html#grammar-token-cql-type"><code class="xref docutils literal notranslate"><span class="pre">cql_type</span></code></a>
-                                   LANGUAGE <a class="reference internal" href="definitions.html#grammar-token-identifier"><code class="xref docutils literal notranslate"><span class="pre">identifier</span></code></a>
-                                   AS <a class="reference internal" href="definitions.html#grammar-token-string"><code class="xref docutils literal notranslate"><span class="pre">string</span></code></a>
-<strong id="grammar-token-arguments-declaration">arguments_declaration    </strong> ::=  <a class="reference internal" href="definitions.html#grammar-token-identifier"><code class="xref docutils literal notranslate"><span class="pre">identifier</span></code></a> <a class="reference internal" href="types.html#grammar-token-cql-type"><code class="xref docutils literal notranslate"><span class="pre">cql_type</span></code></a> ( ',' <a class="reference internal" href="definitions.html#gramma [...]
-</pre>
-<p>For instance:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">OR</span> <span class="k">REPLACE</span> <span class="k">FUNCTION</span> <span class="n">somefunction</span><span class="p">(</span><span class="n">somearg</span> <span class="nb">int</span><span class="p">,</span> <span class="n">anotherarg</span> <span class="nb">text</span><span class="p">,</span> <span class="n">complexarg</span> <span class="k">frozen</span>< [...]
-    <span class="k">RETURNS</span> <span class="k">NULL</span> <span class="k">ON</span> <span class="k">NULL</span> <span class="k">INPUT</span>
-    <span class="k">RETURNS</span> <span class="nb">text</span>
-    <span class="k">LANGUAGE</span> <span class="n">java</span>
-    <span class="k">AS</span> <span class="s">$$</span>
-        <span class="c1">// some Java code</span>
-    <span class="s">$$</span><span class="p">;</span>
-
-<span class="k">CREATE</span> <span class="k">FUNCTION</span> <span class="k">IF</span> <span class="k">NOT</span> <span class="k">EXISTS</span> <span class="n">akeyspace</span><span class="mf">.</span><span class="n">fname</span><span class="p">(</span><span class="n">someArg</span> <span class="nb">int</span><span class="p">)</span>
-    <span class="k">CALLED</span> <span class="k">ON</span> <span class="k">NULL</span> <span class="k">INPUT</span>
-    <span class="k">RETURNS</span> <span class="nb">text</span>
-    <span class="k">LANGUAGE</span> <span class="n">java</span>
-    <span class="k">AS</span> <span class="s">$$</span>
-        <span class="c1">// some Java code</span>
-    <span class="s">$$</span><span class="p">;</span>
-</pre></div>
-</div>
-<p><code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">FUNCTION</span></code> with the optional <code class="docutils literal notranslate"><span class="pre">OR</span> <span class="pre">REPLACE</span></code> keywords either creates a function or replaces an existing one with
-the same signature. A <code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">FUNCTION</span></code> without <code class="docutils literal notranslate"><span class="pre">OR</span> <span class="pre">REPLACE</span></code> fails if a function with the same signature already
-exists.</p>
-<p>If the optional <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXISTS</span></code> keywords are used, the function will
-only be created if another function with the same signature does not
-exist.</p>
-<p><code class="docutils literal notranslate"><span class="pre">OR</span> <span class="pre">REPLACE</span></code> and <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXISTS</span></code> cannot be used together.</p>
-<p>Behavior on invocation with <code class="docutils literal notranslate"><span class="pre">null</span></code> values must be defined for each
-function. There are two options:</p>
-<ol class="arabic simple">
-<li><code class="docutils literal notranslate"><span class="pre">RETURNS</span> <span class="pre">NULL</span> <span class="pre">ON</span> <span class="pre">NULL</span> <span class="pre">INPUT</span></code> declares that the function will always
-return <code class="docutils literal notranslate"><span class="pre">null</span></code> if any of the input arguments is <code class="docutils literal notranslate"><span class="pre">null</span></code>.</li>
-<li><code class="docutils literal notranslate"><span class="pre">CALLED</span> <span class="pre">ON</span> <span class="pre">NULL</span> <span class="pre">INPUT</span></code> declares that the function will always be
-executed.</li>
-</ol>
-<div class="section" id="function-signature">
-<h5>Function Signature<a class="headerlink" href="#function-signature" title="Permalink to this headline">¶</a></h5>
-<p>Signatures are used to distinguish individual functions. The signature consists of:</p>
-<ol class="arabic simple">
-<li>The fully qualified function name - i.e <em>keyspace</em> plus <em>function-name</em></li>
-<li>The concatenated list of all argument types</li>
-</ol>
-<p>Note that keyspace names, function names and argument types are subject to the default naming conventions and
-case-sensitivity rules.</p>
-<p>Functions belong to a keyspace. If no keyspace is specified in <code class="docutils literal notranslate"><span class="pre">&lt;function-name&gt;</span></code>, the current keyspace is used (i.e.
-the keyspace specified using the <code class="docutils literal notranslate"><span class="pre">USE</span></code> statement). It is not possible to create a user-defined function in one of the
-system keyspaces.</p>
-</div>
-</div>
-<div class="section" id="drop-function">
-<span id="drop-function-statement"></span><h4>DROP FUNCTION<a class="headerlink" href="#drop-function" title="Permalink to this headline">¶</a></h4>
-<p>Dropping a function uses the <code class="docutils literal notranslate"><span class="pre">DROP</span> <span class="pre">FUNCTION</span></code> statement:</p>
-<pre>
-<strong id="grammar-token-drop-function-statement">drop_function_statement</strong> ::=  DROP FUNCTION [ IF EXISTS ] <a class="reference internal" href="#grammar-token-function-name"><code class="xref docutils literal notranslate"><span class="pre">function_name</span></code></a> [ '(' <a class="reference internal" href="#grammar-token-arguments-signature"><code class="xref docutils literal notranslate"><span class="pre">arguments_signature</span></code></a> ')' ]
-<strong id="grammar-token-arguments-signature">arguments_signature    </strong> ::=  <a class="reference internal" href="types.html#grammar-token-cql-type"><code class="xref docutils literal notranslate"><span class="pre">cql_type</span></code></a> ( ',' <a class="reference internal" href="types.html#grammar-token-cql-type"><code class="xref docutils literal notranslate"><span class="pre">cql_type</span></code></a> )*
-</pre>
-<p>For instance:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">DROP</span> <span class="k">FUNCTION</span> <span class="n">myfunction</span><span class="p">;</span>
-<span class="k">DROP</span> <span class="k">FUNCTION</span> <span class="n">mykeyspace</span><span class="mf">.</span><span class="n">afunction</span><span class="p">;</span>
-<span class="k">DROP</span> <span class="k">FUNCTION</span> <span class="n">afunction</span> <span class="p">(</span> <span class="nb">int</span> <span class="p">);</span>
-<span class="k">DROP</span> <span class="k">FUNCTION</span> <span class="n">afunction</span> <span class="p">(</span> <span class="nb">text</span> <span class="p">);</span>
-</pre></div>
-</div>
-<p>You must specify the argument types (<a class="reference internal" href="#grammar-token-arguments-signature"><code class="xref std std-token docutils literal notranslate"><span class="pre">arguments_signature</span></code></a>) of the function to drop if there are multiple
-functions with the same name but a different signature (overloaded functions).</p>
-<p><code class="docutils literal notranslate"><span class="pre">DROP</span> <span class="pre">FUNCTION</span></code> with the optional <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">EXISTS</span></code> keywords drops a function if it exists, but does not throw an error if
-it doesn’t</p>
-</div>
-</div>
-</div>
-<div class="section" id="aggregate-functions">
-<span id="id4"></span><h2>Aggregate functions<a class="headerlink" href="#aggregate-functions" title="Permalink to this headline">¶</a></h2>
-<p>Aggregate functions work on a set of rows. They receive values for each row and returns one value for the whole set.</p>
-<p>If <code class="docutils literal notranslate"><span class="pre">normal</span></code> columns, <code class="docutils literal notranslate"><span class="pre">scalar</span> <span class="pre">functions</span></code>, <code class="docutils literal notranslate"><span class="pre">UDT</span></code> fields, <code class="docutils literal notranslate"><span class="pre">writetime</span></code> or <code class="docutils literal notranslate"><span class="pre">ttl</span></code> are selected together with
-aggregate functions, the values returned for them will be the ones of the first row matching the query.</p>
-<div class="section" id="native-aggregates">
-<h3>Native aggregates<a class="headerlink" href="#native-aggregates" title="Permalink to this headline">¶</a></h3>
-<div class="section" id="count">
-<span id="count-function"></span><h4>Count<a class="headerlink" href="#count" title="Permalink to this headline">¶</a></h4>
-<p>The <code class="docutils literal notranslate"><span class="pre">count</span></code> function can be used to count the rows returned by a query. Example:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="k">COUNT</span> <span class="p">(</span><span class="o">*</span><span class="p">)</span> <span class="k">FROM</span> <span class="n">plays</span><span class="p">;</span>
-<span class="k">SELECT</span> <span class="k">COUNT</span> <span class="p">(</span><span class="mf">1</span><span class="p">)</span> <span class="k">FROM</span> <span class="n">plays</span><span class="p">;</span>
-</pre></div>
-</div>
-<p>It also can be used to count the non null value of a given column:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="k">COUNT</span> <span class="p">(</span><span class="n">scores</span><span class="p">)</span> <span class="k">FROM</span> <span class="n">plays</span><span class="p">;</span>
-</pre></div>
-</div>
-</div>
-<div class="section" id="max-and-min">
-<h4>Max and Min<a class="headerlink" href="#max-and-min" title="Permalink to this headline">¶</a></h4>
-<p>The <code class="docutils literal notranslate"><span class="pre">max</span></code> and <code class="docutils literal notranslate"><span class="pre">min</span></code> functions can be used to compute the maximum and the minimum value returned by a query for a
-given column. For instance:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="n">MIN</span> <span class="p">(</span><span class="n">players</span><span class="p">),</span> <span class="n">MAX</span> <span class="p">(</span><span class="n">players</span><span class="p">)</span> <span class="k">FROM</span> <span class="n">plays</span> <span class="k">WHERE</span> <span class="n">game</span> <span class="o">=</span> <span class="s1">&#39;quake&#3 [...]
-</pre></div>
-</div>
-</div>
-<div class="section" id="sum">
-<h4>Sum<a class="headerlink" href="#sum" title="Permalink to this headline">¶</a></h4>
-<p>The <code class="docutils literal notranslate"><span class="pre">sum</span></code> function can be used to sum up all the values returned by a query for a given column. For instance:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="n">SUM</span> <span class="p">(</span><span class="n">players</span><span class="p">)</span> <span class="k">FROM</span> <span class="n">plays</span><span class="p">;</span>
-</pre></div>
-</div>
-</div>
-<div class="section" id="avg">
-<h4>Avg<a class="headerlink" href="#avg" title="Permalink to this headline">¶</a></h4>
-<p>The <code class="docutils literal notranslate"><span class="pre">avg</span></code> function can be used to compute the average of all the values returned by a query for a given column. For
-instance:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="n">AVG</span> <span class="p">(</span><span class="n">players</span><span class="p">)</span> <span class="k">FROM</span> <span class="n">plays</span><span class="p">;</span>
-</pre></div>
-</div>
-</div>
-</div>
-<div class="section" id="user-defined-aggregates">
-<span id="user-defined-aggregates-functions"></span><h3>User-Defined Aggregates<a class="headerlink" href="#user-defined-aggregates" title="Permalink to this headline">¶</a></h3>
-<p>User-defined aggregates allow the creation of custom aggregate functions. Common examples of aggregate functions are
-<em>count</em>, <em>min</em>, and <em>max</em>.</p>
-<p>Each aggregate requires an <em>initial state</em> (<code class="docutils literal notranslate"><span class="pre">INITCOND</span></code>, which defaults to <code class="docutils literal notranslate"><span class="pre">null</span></code>) of type <code class="docutils literal notranslate"><span class="pre">STYPE</span></code>. The first
-argument of the state function must have type <code class="docutils literal notranslate"><span class="pre">STYPE</span></code>. The remaining arguments of the state function must match the
-types of the user-defined aggregate arguments. The state function is called once for each row, and the value returned by
-the state function becomes the new state. After all rows are processed, the optional <code class="docutils literal notranslate"><span class="pre">FINALFUNC</span></code> is executed with last
-state value as its argument.</p>
-<p><code class="docutils literal notranslate"><span class="pre">STYPE</span></code> is mandatory in order to be able to distinguish possibly overloaded versions of the state and/or final
-function (since the overload can appear after creation of the aggregate).</p>
-<p>User-defined aggregates can be used in <code class="docutils literal notranslate"><span class="pre">SELECT</span></code> statement.</p>
-<p>A complete working example for user-defined aggregates (assuming that a keyspace has been selected using the <code class="docutils literal notranslate"><span class="pre">USE</span></code>
-statement):</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">OR</span> <span class="k">REPLACE</span> <span class="k">FUNCTION</span> <span class="n">averageState</span><span class="p">(</span><span class="n">state</span> <span class="k">tuple</span><span class="o">&lt;</span><span class="nb">int</span><span class="p">,</span><span class="nb">bigint</span><span class="o">&gt;</span><span class="p">,</span> <span class="n">v [...]
-    <span class="k">CALLED</span> <span class="k">ON</span> <span class="k">NULL</span> <span class="k">INPUT</span>
-    <span class="k">RETURNS</span> <span class="k">tuple</span>
-    <span class="k">LANGUAGE</span> <span class="n">java</span>
-    <span class="k">AS</span> <span class="s">$$</span>
-        <span class="k">if</span> <span class="o">(</span><span class="n">val</span> <span class="o">!=</span> <span class="kc">null</span><span class="o">)</span> <span class="o">{</span>
-            <span class="n">state</span><span class="o">.</span><span class="na">setInt</span><span class="o">(</span><span class="mi">0</span><span class="o">,</span> <span class="n">state</span><span class="o">.</span><span class="na">getInt</span><span class="o">(</span><span class="mi">0</span><span class="o">)+</span><span class="mi">1</span><span class="o">);</span>
-            <span class="n">state</span><span class="o">.</span><span class="na">setLong</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="n">state</span><span class="o">.</span><span class="na">getLong</span><span class="o">(</span><span class="mi">1</span><span class="o">)+</span><span class="n">val</span><span class="o">.</span><span class="na">intValue</span><span class="o">());</span>
-        <span class="o">}</span>
-        <span class="k">return</span> <span class="n">state</span><span class="o">;</span>
-    <span class="s">$$</span><span class="p">;</span>
-
-<span class="k">CREATE</span> <span class="k">OR</span> <span class="k">REPLACE</span> <span class="k">FUNCTION</span> <span class="n">averageFinal</span> <span class="p">(</span><span class="n">state</span> <span class="k">tuple</span><span class="o">&lt;</span><span class="nb">int</span><span class="p">,</span><span class="nb">bigint</span><span class="o">&gt;</span><span class="p">)</span>
-    <span class="k">CALLED</span> <span class="k">ON</span> <span class="k">NULL</span> <span class="k">INPUT</span>
-    <span class="k">RETURNS</span> <span class="nb">double</span>
-    <span class="k">LANGUAGE</span> <span class="n">java</span>
-    <span class="k">AS</span> <span class="s">$$</span>
-        <span class="kt">double</span> <span class="n">r</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span>
-        <span class="k">if</span> <span class="o">(</span><span class="n">state</span><span class="o">.</span><span class="na">getInt</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span> <span class="o">==</span> <span class="mi">0</span><span class="o">)</span> <span class="k">return</span> <span class="kc">null</span><span class="o">;</span>
-        <span class="n">r</span> <span class="o">=</span> <span class="n">state</span><span class="o">.</span><span class="na">getLong</span><span class="o">(</span><span class="mi">1</span><span class="o">);</span>
-        <span class="n">r</span> <span class="o">/=</span> <span class="n">state</span><span class="o">.</span><span class="na">getInt</span><span class="o">(</span><span class="mi">0</span><span class="o">);</span>
-        <span class="k">return</span> <span class="n">Double</span><span class="o">.</span><span class="na">valueOf</span><span class="o">(</span><span class="n">r</span><span class="o">);</span>
-    <span class="s">$$</span><span class="p">;</span>
-
-<span class="k">CREATE</span> <span class="k">OR</span> <span class="k">REPLACE</span> <span class="k">AGGREGATE</span> <span class="n">average</span><span class="p">(</span><span class="nb">int</span><span class="p">)</span>
-    <span class="k">SFUNC</span> <span class="n">averageState</span>
-    <span class="k">STYPE</span> <span class="k">tuple</span>
-    <span class="k">FINALFUNC</span> <span class="n">averageFinal</span>
-    <span class="k">INITCOND</span> <span class="p">(</span><span class="mf">0</span><span class="p">,</span> <span class="mf">0</span><span class="p">);</span>
-
-<span class="k">CREATE</span> <span class="k">TABLE</span> <span class="n">atable</span> <span class="p">(</span>
-    <span class="n">pk</span> <span class="nb">int</span> <span class="k">PRIMARY</span> <span class="k">KEY</span><span class="p">,</span>
-    <span class="n">val</span> <span class="nb">int</span>
-<span class="p">);</span>
-
-<span class="k">INSERT</span> <span class="k">INTO</span> <span class="n">atable</span> <span class="p">(</span><span class="n">pk</span><span class="p">,</span> <span class="n">val</span><span class="p">)</span> <span class="k">VALUES</span> <span class="p">(</span><span class="mf">1</span><span class="p">,</span><span class="mf">1</span><span class="p">);</span>
-<span class="k">INSERT</span> <span class="k">INTO</span> <span class="n">atable</span> <span class="p">(</span><span class="n">pk</span><span class="p">,</span> <span class="n">val</span><span class="p">)</span> <span class="k">VALUES</span> <span class="p">(</span><span class="mf">2</span><span class="p">,</span><span class="mf">2</span><span class="p">);</span>
-<span class="k">INSERT</span> <span class="k">INTO</span> <span class="n">atable</span> <span class="p">(</span><span class="n">pk</span><span class="p">,</span> <span class="n">val</span><span class="p">)</span> <span class="k">VALUES</span> <span class="p">(</span><span class="mf">3</span><span class="p">,</span><span class="mf">3</span><span class="p">);</span>
-<span class="k">INSERT</span> <span class="k">INTO</span> <span class="n">atable</span> <span class="p">(</span><span class="n">pk</span><span class="p">,</span> <span class="n">val</span><span class="p">)</span> <span class="k">VALUES</span> <span class="p">(</span><span class="mf">4</span><span class="p">,</span><span class="mf">4</span><span class="p">);</span>
-
-<span class="k">SELECT</span> <span class="n">average</span><span class="p">(</span><span class="n">val</span><span class="p">)</span> <span class="k">FROM</span> <span class="n">atable</span><span class="p">;</span>
-</pre></div>
-</div>
-<div class="section" id="create-aggregate">
-<span id="create-aggregate-statement"></span><h4>CREATE AGGREGATE<a class="headerlink" href="#create-aggregate" title="Permalink to this headline">¶</a></h4>
-<p>Creating (or replacing) a user-defined aggregate function uses the <code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">AGGREGATE</span></code> statement:</p>
-<pre>
-<strong id="grammar-token-create-aggregate-statement">create_aggregate_statement</strong> ::=  CREATE [ OR REPLACE ] AGGREGATE [ IF NOT EXISTS ]
-                                    <a class="reference internal" href="#grammar-token-function-name"><code class="xref docutils literal notranslate"><span class="pre">function_name</span></code></a> '(' <a class="reference internal" href="#grammar-token-arguments-signature"><code class="xref docutils literal notranslate"><span class="pre">arguments_signature</span></code></a> ')'
-                                    SFUNC <a class="reference internal" href="#grammar-token-function-name"><code class="xref docutils literal notranslate"><span class="pre">function_name</span></code></a>
-                                    STYPE <a class="reference internal" href="types.html#grammar-token-cql-type"><code class="xref docutils literal notranslate"><span class="pre">cql_type</span></code></a>
-                                    [ FINALFUNC <a class="reference internal" href="#grammar-token-function-name"><code class="xref docutils literal notranslate"><span class="pre">function_name</span></code></a> ]
-                                    [ INITCOND <a class="reference internal" href="definitions.html#grammar-token-term"><code class="xref docutils literal notranslate"><span class="pre">term</span></code></a> ]
-</pre>
-<p>See above for a complete example.</p>
-<p><code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">AGGREGATE</span></code> with the optional <code class="docutils literal notranslate"><span class="pre">OR</span> <span class="pre">REPLACE</span></code> keywords either creates an aggregate or replaces an existing one
-with the same signature. A <code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">AGGREGATE</span></code> without <code class="docutils literal notranslate"><span class="pre">OR</span> <span class="pre">REPLACE</span></code> fails if an aggregate with the same signature
-already exists.</p>
-<p><code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">AGGREGATE</span></code> with the optional <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXISTS</span></code> keywords either creates an aggregate if it does not already
-exist.</p>
-<p><code class="docutils literal notranslate"><span class="pre">OR</span> <span class="pre">REPLACE</span></code> and <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXISTS</span></code> cannot be used together.</p>
-<p><code class="docutils literal notranslate"><span class="pre">STYPE</span></code> defines the type of the state value and must be specified.</p>
-<p>The optional <code class="docutils literal notranslate"><span class="pre">INITCOND</span></code> defines the initial state value for the aggregate. It defaults to <code class="docutils literal notranslate"><span class="pre">null</span></code>. A non-<code class="docutils literal notranslate"><span class="pre">null</span></code>
-<code class="docutils literal notranslate"><span class="pre">INITCOND</span></code> must be specified for state functions that are declared with <code class="docutils literal notranslate"><span class="pre">RETURNS</span> <span class="pre">NULL</span> <span class="pre">ON</span> <span class="pre">NULL</span> <span class="pre">INPUT</span></code>.</p>
-<p><code class="docutils literal notranslate"><span class="pre">SFUNC</span></code> references an existing function to be used as the state modifying function. The type of first argument of the
-state function must match <code class="docutils literal notranslate"><span class="pre">STYPE</span></code>. The remaining argument types of the state function must match the argument types of
-the aggregate function. State is not updated for state functions declared with <code class="docutils literal notranslate"><span class="pre">RETURNS</span> <span class="pre">NULL</span> <span class="pre">ON</span> <span class="pre">NULL</span> <span class="pre">INPUT</span></code> and called
-with <code class="docutils literal notranslate"><span class="pre">null</span></code>.</p>
-<p>The optional <code class="docutils literal notranslate"><span class="pre">FINALFUNC</span></code> is called just before the aggregate result is returned. It must take only one argument with
-type <code class="docutils literal notranslate"><span class="pre">STYPE</span></code>. The return type of the <code class="docutils literal notranslate"><span class="pre">FINALFUNC</span></code> may be a different type. A final function declared with <code class="docutils literal notranslate"><span class="pre">RETURNS</span>
-<span class="pre">NULL</span> <span class="pre">ON</span> <span class="pre">NULL</span> <span class="pre">INPUT</span></code> means that the aggregate’s return value will be <code class="docutils literal notranslate"><span class="pre">null</span></code>, if the last state is <code class="docutils literal notranslate"><span class="pre">null</span></code>.</p>
-<p>If no <code class="docutils literal notranslate"><span class="pre">FINALFUNC</span></code> is defined, the overall return type of the aggregate function is <code class="docutils literal notranslate"><span class="pre">STYPE</span></code>. If a <code class="docutils literal notranslate"><span class="pre">FINALFUNC</span></code> is
-defined, it is the return type of that function.</p>
-</div>
-<div class="section" id="drop-aggregate">
-<span id="drop-aggregate-statement"></span><h4>DROP AGGREGATE<a class="headerlink" href="#drop-aggregate" title="Permalink to this headline">¶</a></h4>
-<p>Dropping an user-defined aggregate function uses the <code class="docutils literal notranslate"><span class="pre">DROP</span> <span class="pre">AGGREGATE</span></code> statement:</p>
-<pre>
-<strong id="grammar-token-drop-aggregate-statement">drop_aggregate_statement</strong> ::=  DROP AGGREGATE [ IF EXISTS ] <a class="reference internal" href="#grammar-token-function-name"><code class="xref docutils literal notranslate"><span class="pre">function_name</span></code></a> [ '(' <a class="reference internal" href="#grammar-token-arguments-signature"><code class="xref docutils literal notranslate"><span class="pre">arguments_signature</span></code></a> ')' ]
-</pre>
-<p>For instance:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">DROP</span> <span class="k">AGGREGATE</span> <span class="n">myAggregate</span><span class="p">;</span>
-<span class="k">DROP</span> <span class="k">AGGREGATE</span> <span class="n">myKeyspace</span><span class="mf">.</span><span class="n">anAggregate</span><span class="p">;</span>
-<span class="k">DROP</span> <span class="k">AGGREGATE</span> <span class="n">someAggregate</span> <span class="p">(</span> <span class="nb">int</span> <span class="p">);</span>
-<span class="k">DROP</span> <span class="k">AGGREGATE</span> <span class="n">someAggregate</span> <span class="p">(</span> <span class="nb">text</span> <span class="p">);</span>
-</pre></div>
-</div>
-<p>The <code class="docutils literal notranslate"><span class="pre">DROP</span> <span class="pre">AGGREGATE</span></code> statement removes an aggregate created using <code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">AGGREGATE</span></code>. You must specify the argument
-types of the aggregate to drop if there are multiple aggregates with the same name but a different signature (overloaded
-aggregates).</p>
-<p><code class="docutils literal notranslate"><span class="pre">DROP</span> <span class="pre">AGGREGATE</span></code> with the optional <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">EXISTS</span></code> keywords drops an aggregate if it exists, and does nothing if a
-function with the signature does not exist.</p>
-</div>
-</div>
-</div>
-</div>
-
-
-
-          
-          <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation">
-            
-            <a href="operators.html" class="btn btn-default pull-right " role="button" title="Arithmetic Operators" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
-            
-            
-            <a href="security.html" class="btn btn-default" role="button" title="Security" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
-            
-          </div>
-          
-        </div>
-      </div>
-    </div>
-  </div>
-</div>
-
-    <hr />
-
-<footer>
-  <div class="container">
-    <div class="col-md-4 social-blk">
-      <span class="social">
-        <a href="https://twitter.com/cassandra"
-           class="twitter-follow-button"
-           data-show-count="false" data-size="large">Follow @cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-        <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
-           class="twitter-hashtag-button"
-           data-size="large"
-           data-related="ApacheCassandra">Tweet #cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-
-      </span>
-      <a class="subscribe-rss icon-link" href="/feed.xml" title="Subscribe to Blog via RSS">
-          <span><i class="fa fa-rss"></i></span>
-      </a>
-    </div>
-
-    <div class="col-md-8 trademark">
-      <p>&copy; 2016 <a href="http://apache.org">The Apache Software Foundation</a>.
-      Apache, the Apache feather logo, and Apache Cassandra are trademarks of The Apache Software Foundation.
-      <p>
-    </div>
-  </div><!-- /.container -->
-</footer>
-
-<!-- Javascript. Placed here so pages load faster -->
-<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
-<script src="./../../../js/underscore-min.js"></script>
-<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
-
-
-<script src="./../../../js/doctools.js"></script>
-<script src="./../../../js/searchtools.js"></script>
-
- <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:    "", VERSION:     "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE:  false, SOURCELINK_SUFFIX: ".txt" }; </script> 
-
-
-
-<script type="text/javascript">
-  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
-  document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
-
-  try {
-    var pageTracker = _gat._getTracker("UA-11583863-1");
-    pageTracker._trackPageview();
-  } catch(err) {}
-</script>
-
-
-  </body>
-</html>
diff --git a/content/doc/4.0/cql/index.html b/content/doc/4.0/cql/index.html
deleted file mode 100644
index f62ca99..0000000
--- a/content/doc/4.0/cql/index.html
+++ /dev/null
@@ -1,372 +0,0 @@
-<!DOCTYPE html>
-<html>
-  
-
-
-
-<head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="description" content="The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive r [...]
-">
-  <meta name="keywords" content="cassandra, apache, apache cassandra, distributed storage, key value store, scalability, bigtable, dynamo" />
-  <meta name="robots" content="index,follow" />
-  <meta name="language" content="en" />  
-
-  <title>Documentation</title>
-
-  <link rel="canonical" href="http://cassandra.apache.org/doc/4.0/cql/">
-
-  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
-  <link rel="stylesheet" href="./../../../css/style.css">
-  
-  <link rel="stylesheet" href="./../../../css/sphinx.css">
-  
-
-   <link rel="top" title="Apache Cassandra Documentation v4.0" href="../index.html"/> <link rel="next" title="Definitions" href="definitions.html"/> <link rel="prev" title="Data Modeling" href="../data_modeling/index.html"/> 
-  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
-  
-  <link type="application/atom+xml" rel="alternate" href="http://cassandra.apache.org/feed.xml" title="Apache Cassandra Website" />
-</head>
-
-  <body>
-    <!-- breadcrumbs -->
-<div class="topnav">
-  <div class="container breadcrumb-container">
-    <ul class="breadcrumb">
-      <li>
-        <div class="dropdown">
-          <img class="asf-logo" src="./../../../img/asf_feather.png" />
-          <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
-          <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
-            <li><a href="http://www.apache.org">Apache Homepage</a></li>
-            <li><a href="http://www.apache.org/licenses/">License</a></li>
-            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
-            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
-            <li><a href="http://www.apache.org/security/">Security</a></li>
-          </ul>
-        </div>
-      </li>
-
-      
-      <li><a href="./../../../">Apache Cassandra</a></li>
-      
-
-      
-        
-        <li><a href="./../../../doc">Documentation</a></li>
-        
-      
-
-      
-
-      
-      <li>The Cassandra Query Language (CQL)</li>
-      
-    </ul>
-  </div>
-
-  <!-- navbar -->
-  <nav class="navbar navbar-default navbar-static-top" role="navigation">
-    <div class="container">
-      <div class="navbar-header">
-        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
-          <span class="sr-only">Toggle navigation</span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-        </button>
-        <a class="navbar-brand" href="./../../../"><img src="./../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
-      </div><!-- /.navbar-header -->
-
-      <div id="cassandra-menu" class="collapse navbar-collapse">
-        <ul class="nav navbar-nav navbar-right">
-          <li><a href="./../../../">Home</a></li>
-          <li><a href="./../../../download/">Download</a></li>
-          <li><a href="./../../../doc/">Documentation</a></li>
-          <li><a href="./../../../community/">Community</a></li>
-          <li>
-            <a href="./../../../blog/">Blog</a>
-        </li>
-        </ul>
-      </div><!-- /#cassandra-menu -->
-
-      
-    </div>
-  </nav><!-- /.navbar -->
-</div><!-- /.topnav -->
-
-    <div class="container-fluid">
-  <div class="row">
-    <div class="col-md-3">
-      <div class="doc-navigation">
-        <div class="doc-menu" role="navigation">
-          <div class="navbar-header">
-            <button type="button" class="pull-left navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse">
-              <span class="sr-only">Toggle navigation</span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-            </button>
-          </div>
-          <div class="navbar-collapse collapse sidebar-navbar-collapse">
-            <form id="doc-search-form" class="navbar-form" action="../search.html" method="get" role="search">
-              <div class="form-group">
-                <input type="text" size="30" class="form-control input-sm" name="q" placeholder="Search docs">
-                <input type="hidden" name="check_keywords" value="yes" />
-                <input type="hidden" name="area" value="default" />
-              </div>
-            </form>
-            
-            
-            
-            <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">The Cassandra Query Language (CQL)</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="definitions.html">Definitions</a></li>
-<li class="toctree-l2"><a class="reference internal" href="types.html">Data Types</a></li>
-<li class="toctree-l2"><a class="reference internal" href="ddl.html">Data Definition</a></li>
-<li class="toctree-l2"><a class="reference internal" href="dml.html">Data Manipulation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="indexes.html">Secondary Indexes</a></li>
-<li class="toctree-l2"><a class="reference internal" href="mvs.html">Materialized Views</a></li>
-<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
-<li class="toctree-l2"><a class="reference internal" href="functions.html">Functions</a></li>
-<li class="toctree-l2"><a class="reference internal" href="operators.html">Arithmetic Operators</a></li>
-<li class="toctree-l2"><a class="reference internal" href="json.html">JSON Support</a></li>
-<li class="toctree-l2"><a class="reference internal" href="triggers.html">Triggers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="appendices.html">Appendices</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html">Changes</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Contributing to Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">Frequently Asked Questions</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Third-Party Plugins</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li>
-</ul>
-
-            
-            
-          </div><!--/.nav-collapse -->
-        </div>
-      </div>
-    </div>
-    <div class="col-md-8">
-      <div class="content doc-content">
-        <div class="content-container">
-          
-  <div class="section" id="the-cassandra-query-language-cql">
-<span id="cql"></span><h1>The Cassandra Query Language (CQL)<a class="headerlink" href="#the-cassandra-query-language-cql" title="Permalink to this headline">¶</a></h1>
-<p>This document describes the Cassandra Query Language (CQL) <a class="footnote-reference" href="#id2" id="id1">[1]</a>. Note that this document describes the last version of
-the languages. However, the <a class="reference external" href="#changes">changes</a> section provides the diff between the different versions of CQL.</p>
-<p>CQL offers a model close to SQL in the sense that data is put in <em>tables</em> containing <em>rows</em> of <em>columns</em>. For
-that reason, when used in this document, these terms (tables, rows and columns) have the same definition than they have
-in SQL.</p>
-<div class="toctree-wrapper compound">
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="definitions.html">Definitions</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="definitions.html#conventions">Conventions</a></li>
-<li class="toctree-l2"><a class="reference internal" href="definitions.html#identifiers">Identifiers and keywords</a></li>
-<li class="toctree-l2"><a class="reference internal" href="definitions.html#constants">Constants</a></li>
-<li class="toctree-l2"><a class="reference internal" href="definitions.html#terms">Terms</a></li>
-<li class="toctree-l2"><a class="reference internal" href="definitions.html#comments">Comments</a></li>
-<li class="toctree-l2"><a class="reference internal" href="definitions.html#statements">Statements</a></li>
-<li class="toctree-l2"><a class="reference internal" href="definitions.html#prepared-statements">Prepared Statements</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="types.html">Data Types</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="types.html#native-types">Native Types</a></li>
-<li class="toctree-l2"><a class="reference internal" href="types.html#working-with-timestamps">Working with timestamps</a></li>
-<li class="toctree-l2"><a class="reference internal" href="types.html#working-with-dates">Working with dates</a></li>
-<li class="toctree-l2"><a class="reference internal" href="types.html#working-with-times">Working with times</a></li>
-<li class="toctree-l2"><a class="reference internal" href="types.html#working-with-durations">Working with durations</a></li>
-<li class="toctree-l2"><a class="reference internal" href="types.html#collections">Collections</a></li>
-<li class="toctree-l2"><a class="reference internal" href="types.html#user-defined-types">User-Defined Types</a></li>
-<li class="toctree-l2"><a class="reference internal" href="types.html#tuples">Tuples</a></li>
-<li class="toctree-l2"><a class="reference internal" href="types.html#custom-types">Custom Types</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="ddl.html">Data Definition</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="ddl.html#common-definitions">Common definitions</a></li>
-<li class="toctree-l2"><a class="reference internal" href="ddl.html#create-keyspace">CREATE KEYSPACE</a></li>
-<li class="toctree-l2"><a class="reference internal" href="ddl.html#use">USE</a></li>
-<li class="toctree-l2"><a class="reference internal" href="ddl.html#alter-keyspace">ALTER KEYSPACE</a></li>
-<li class="toctree-l2"><a class="reference internal" href="ddl.html#drop-keyspace">DROP KEYSPACE</a></li>
-<li class="toctree-l2"><a class="reference internal" href="ddl.html#create-table">CREATE TABLE</a></li>
-<li class="toctree-l2"><a class="reference internal" href="ddl.html#alter-table">ALTER TABLE</a></li>
-<li class="toctree-l2"><a class="reference internal" href="ddl.html#drop-table">DROP TABLE</a></li>
-<li class="toctree-l2"><a class="reference internal" href="ddl.html#truncate">TRUNCATE</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="dml.html">Data Manipulation</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="dml.html#select">SELECT</a></li>
-<li class="toctree-l2"><a class="reference internal" href="dml.html#insert">INSERT</a></li>
-<li class="toctree-l2"><a class="reference internal" href="dml.html#update">UPDATE</a></li>
-<li class="toctree-l2"><a class="reference internal" href="dml.html#delete">DELETE</a></li>
-<li class="toctree-l2"><a class="reference internal" href="dml.html#batch">BATCH</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="indexes.html">Secondary Indexes</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="indexes.html#create-index">CREATE INDEX</a></li>
-<li class="toctree-l2"><a class="reference internal" href="indexes.html#drop-index">DROP INDEX</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="mvs.html">Materialized Views</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="mvs.html#create-materialized-view">CREATE MATERIALIZED VIEW</a></li>
-<li class="toctree-l2"><a class="reference internal" href="mvs.html#alter-materialized-view">ALTER MATERIALIZED VIEW</a></li>
-<li class="toctree-l2"><a class="reference internal" href="mvs.html#drop-materialized-view">DROP MATERIALIZED VIEW</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="security.html">Security</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="security.html#database-roles">Database Roles</a></li>
-<li class="toctree-l2"><a class="reference internal" href="security.html#users">Users</a></li>
-<li class="toctree-l2"><a class="reference internal" href="security.html#data-control">Data Control</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="functions.html">Functions</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="functions.html#scalar-functions">Scalar functions</a></li>
-<li class="toctree-l2"><a class="reference internal" href="functions.html#aggregate-functions">Aggregate functions</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="operators.html">Arithmetic Operators</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="operators.html#number-arithmetic">Number Arithmetic</a></li>
-<li class="toctree-l2"><a class="reference internal" href="operators.html#datetime-arithmetic">Datetime Arithmetic</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="json.html">JSON Support</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="json.html#select-json">SELECT JSON</a></li>
-<li class="toctree-l2"><a class="reference internal" href="json.html#insert-json">INSERT JSON</a></li>
-<li class="toctree-l2"><a class="reference internal" href="json.html#json-encoding-of-cassandra-data-types">JSON Encoding of Cassandra Data Types</a></li>
-<li class="toctree-l2"><a class="reference internal" href="json.html#the-fromjson-function">The fromJson() Function</a></li>
-<li class="toctree-l2"><a class="reference internal" href="json.html#the-tojson-function">The toJson() Function</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="triggers.html">Triggers</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="triggers.html#create-trigger">CREATE TRIGGER</a></li>
-<li class="toctree-l2"><a class="reference internal" href="triggers.html#drop-trigger">DROP TRIGGER</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="appendices.html">Appendices</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="appendices.html#appendix-a-cql-keywords">Appendix A: CQL Keywords</a></li>
-<li class="toctree-l2"><a class="reference internal" href="appendices.html#appendix-b-cql-reserved-types">Appendix B: CQL Reserved Types</a></li>
-<li class="toctree-l2"><a class="reference internal" href="appendices.html#appendix-c-dropping-compact-storage">Appendix C: Dropping Compact Storage</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="changes.html">Changes</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="changes.html#id1">3.4.5</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html#id2">3.4.4</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html#id3">3.4.3</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html#id6">3.4.2</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html#id7">3.4.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html#id8">3.4.0</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html#id9">3.3.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html#id10">3.3.0</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html#id11">3.2.0</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html#id12">3.1.7</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html#id13">3.1.6</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html#id14">3.1.5</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html#id15">3.1.4</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html#id16">3.1.3</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html#id17">3.1.2</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html#id18">3.1.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html#id19">3.1.0</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html#id20">3.0.5</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html#id21">3.0.4</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html#id22">3.0.3</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html#id23">3.0.2</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html#id24">3.0.1</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html#versioning">Versioning</a></li>
-</ul>
-</li>
-</ul>
-</div>
-<table class="docutils footnote" frame="void" id="id2" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id1">[1]</a></td><td>Technically, this document CQL version 3, which is not backward compatible with CQL version 1 and 2 (which have
-been deprecated and remove) and differs from it in numerous ways.</td></tr>
-</tbody>
-</table>
-</div>
-
-
-
-          
-          <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation">
-            
-            <a href="definitions.html" class="btn btn-default pull-right " role="button" title="Definitions" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
-            
-            
-            <a href="../data_modeling/index.html" class="btn btn-default" role="button" title="Data Modeling" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
-            
-          </div>
-          
-        </div>
-      </div>
-    </div>
-  </div>
-</div>
-
-    <hr />
-
-<footer>
-  <div class="container">
-    <div class="col-md-4 social-blk">
-      <span class="social">
-        <a href="https://twitter.com/cassandra"
-           class="twitter-follow-button"
-           data-show-count="false" data-size="large">Follow @cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-        <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
-           class="twitter-hashtag-button"
-           data-size="large"
-           data-related="ApacheCassandra">Tweet #cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-
-      </span>
-      <a class="subscribe-rss icon-link" href="/feed.xml" title="Subscribe to Blog via RSS">
-          <span><i class="fa fa-rss"></i></span>
-      </a>
-    </div>
-
-    <div class="col-md-8 trademark">
-      <p>&copy; 2016 <a href="http://apache.org">The Apache Software Foundation</a>.
-      Apache, the Apache feather logo, and Apache Cassandra are trademarks of The Apache Software Foundation.
-      <p>
-    </div>
-  </div><!-- /.container -->
-</footer>
-
-<!-- Javascript. Placed here so pages load faster -->
-<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
-<script src="./../../../js/underscore-min.js"></script>
-<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
-
-
-<script src="./../../../js/doctools.js"></script>
-<script src="./../../../js/searchtools.js"></script>
-
- <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:    "", VERSION:     "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE:  false, SOURCELINK_SUFFIX: ".txt" }; </script> 
-
-
-
-<script type="text/javascript">
-  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
-  document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
-
-  try {
-    var pageTracker = _gat._getTracker("UA-11583863-1");
-    pageTracker._trackPageview();
-  } catch(err) {}
-</script>
-
-
-  </body>
-</html>
diff --git a/content/doc/4.0/cql/indexes.html b/content/doc/4.0/cql/indexes.html
deleted file mode 100644
index 997284e..0000000
--- a/content/doc/4.0/cql/indexes.html
+++ /dev/null
@@ -1,295 +0,0 @@
-<!DOCTYPE html>
-<html>
-  
-
-
-
-<head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="description" content="The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive r [...]
-">
-  <meta name="keywords" content="cassandra, apache, apache cassandra, distributed storage, key value store, scalability, bigtable, dynamo" />
-  <meta name="robots" content="index,follow" />
-  <meta name="language" content="en" />  
-
-  <title>Documentation</title>
-
-  <link rel="canonical" href="http://cassandra.apache.org/doc/4.0/cql/indexes.html">
-
-  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
-  <link rel="stylesheet" href="./../../../css/style.css">
-  
-  <link rel="stylesheet" href="./../../../css/sphinx.css">
-  
-
-   <link rel="top" title="Apache Cassandra Documentation v4.0" href="../index.html"/> <link rel="up" title="The Cassandra Query Language (CQL)" href="index.html"/> <link rel="next" title="Materialized Views" href="mvs.html"/> <link rel="prev" title="Data Manipulation" href="dml.html"/> 
-  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
-  
-  <link type="application/atom+xml" rel="alternate" href="http://cassandra.apache.org/feed.xml" title="Apache Cassandra Website" />
-</head>
-
-  <body>
-    <!-- breadcrumbs -->
-<div class="topnav">
-  <div class="container breadcrumb-container">
-    <ul class="breadcrumb">
-      <li>
-        <div class="dropdown">
-          <img class="asf-logo" src="./../../../img/asf_feather.png" />
-          <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
-          <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
-            <li><a href="http://www.apache.org">Apache Homepage</a></li>
-            <li><a href="http://www.apache.org/licenses/">License</a></li>
-            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
-            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
-            <li><a href="http://www.apache.org/security/">Security</a></li>
-          </ul>
-        </div>
-      </li>
-
-      
-      <li><a href="./../../../">Apache Cassandra</a></li>
-      
-
-      
-        
-        <li><a href="./../../../doc">Documentation</a></li>
-        
-      
-
-      
-      <li><a href="./">The Cassandra Query Language (CQL)</a></li>
-      
-
-      
-      <li>Secondary Indexes</li>
-      
-    </ul>
-  </div>
-
-  <!-- navbar -->
-  <nav class="navbar navbar-default navbar-static-top" role="navigation">
-    <div class="container">
-      <div class="navbar-header">
-        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
-          <span class="sr-only">Toggle navigation</span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-        </button>
-        <a class="navbar-brand" href="./../../../"><img src="./../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
-      </div><!-- /.navbar-header -->
-
-      <div id="cassandra-menu" class="collapse navbar-collapse">
-        <ul class="nav navbar-nav navbar-right">
-          <li><a href="./../../../">Home</a></li>
-          <li><a href="./../../../download/">Download</a></li>
-          <li><a href="./../../../doc/">Documentation</a></li>
-          <li><a href="./../../../community/">Community</a></li>
-          <li>
-            <a href="./../../../blog/">Blog</a>
-        </li>
-        </ul>
-      </div><!-- /#cassandra-menu -->
-
-      
-    </div>
-  </nav><!-- /.navbar -->
-</div><!-- /.topnav -->
-
-    <div class="container-fluid">
-  <div class="row">
-    <div class="col-md-3">
-      <div class="doc-navigation">
-        <div class="doc-menu" role="navigation">
-          <div class="navbar-header">
-            <button type="button" class="pull-left navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse">
-              <span class="sr-only">Toggle navigation</span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-              <span class="icon-bar"></span>
-            </button>
-          </div>
-          <div class="navbar-collapse collapse sidebar-navbar-collapse">
-            <form id="doc-search-form" class="navbar-form" action="../search.html" method="get" role="search">
-              <div class="form-group">
-                <input type="text" size="30" class="form-control input-sm" name="q" placeholder="Search docs">
-                <input type="hidden" name="check_keywords" value="yes" />
-                <input type="hidden" name="area" value="default" />
-              </div>
-            </form>
-            
-            
-            
-            <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
-<li class="toctree-l1 current"><a class="reference internal" href="index.html">The Cassandra Query Language (CQL)</a><ul class="current">
-<li class="toctree-l2"><a class="reference internal" href="definitions.html">Definitions</a></li>
-<li class="toctree-l2"><a class="reference internal" href="types.html">Data Types</a></li>
-<li class="toctree-l2"><a class="reference internal" href="ddl.html">Data Definition</a></li>
-<li class="toctree-l2"><a class="reference internal" href="dml.html">Data Manipulation</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Secondary Indexes</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#create-index">CREATE INDEX</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#drop-index">DROP INDEX</a></li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="mvs.html">Materialized Views</a></li>
-<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
-<li class="toctree-l2"><a class="reference internal" href="functions.html">Functions</a></li>
-<li class="toctree-l2"><a class="reference internal" href="operators.html">Arithmetic Operators</a></li>
-<li class="toctree-l2"><a class="reference internal" href="json.html">JSON Support</a></li>
-<li class="toctree-l2"><a class="reference internal" href="triggers.html">Triggers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="appendices.html">Appendices</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changes.html">Changes</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Contributing to Cassandra</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">Frequently Asked Questions</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Third-Party Plugins</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li>
-</ul>
-
-            
-            
-          </div><!--/.nav-collapse -->
-        </div>
-      </div>
-    </div>
-    <div class="col-md-8">
-      <div class="content doc-content">
-        <div class="content-container">
-          
-  <div class="section" id="secondary-indexes">
-<span id="id1"></span><h1>Secondary Indexes<a class="headerlink" href="#secondary-indexes" title="Permalink to this headline">¶</a></h1>
-<p>CQL supports creating secondary indexes on tables, allowing queries on the table to use those indexes. A secondary index
-is identified by a name defined by:</p>
-<pre>
-<strong id="grammar-token-index-name">index_name</strong> ::=  re('[a-zA-Z_0-9]+')
-</pre>
-<div class="section" id="create-index">
-<span id="create-index-statement"></span><h2>CREATE INDEX<a class="headerlink" href="#create-index" title="Permalink to this headline">¶</a></h2>
-<p>Creating a secondary index on a table uses the <code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">INDEX</span></code> statement:</p>
-<pre>
-<strong id="grammar-token-create-index-statement">create_index_statement</strong> ::=  CREATE [ CUSTOM ] INDEX [ IF NOT EXISTS ] [ <a class="reference internal" href="#grammar-token-index-name"><code class="xref docutils literal notranslate"><span class="pre">index_name</span></code></a> ]
-                                ON <a class="reference internal" href="ddl.html#grammar-token-table-name"><code class="xref docutils literal notranslate"><span class="pre">table_name</span></code></a> '(' <a class="reference internal" href="#grammar-token-index-identifier"><code class="xref docutils literal notranslate"><span class="pre">index_identifier</span></code></a> ')'
-                                [ USING <a class="reference internal" href="definitions.html#grammar-token-string"><code class="xref docutils literal notranslate"><span class="pre">string</span></code></a> [ WITH OPTIONS = <a class="reference internal" href="types.html#grammar-token-map-literal"><code class="xref docutils literal notranslate"><span class="pre">map_literal</span></code></a> ] ]
-<strong id="grammar-token-index-identifier">index_identifier      </strong> ::=  <a class="reference internal" href="ddl.html#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a>
-                           | ( KEYS | VALUES | ENTRIES | FULL ) '(' <a class="reference internal" href="ddl.html#grammar-token-column-name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> ')'
-</pre>
-<p>For instance:</p>
-<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">INDEX</span> <span class="n">userIndex</span> <span class="k">ON</span> <span class="n">NerdMovies</span> <span class="p">(</span><span class="k">user</span><span class="p">);</span>
-<span class="k">CREATE</span> <span class="k">INDEX</span> <span class="k">ON</span> <span class="n">Mutants</span> <span class="p">(</span><span class="n">abilityId</span><span class="p">);</span>
-<span class="k">CREATE</span> <span class="k">INDEX</span> <span class="k">ON</span> <span class="k">users</span> <span class="p">(</span><span class="k">keys</span><span class="p">(</span><span class="n">favs</span><span class="p">));</span>
-<span class="k">CREATE</span> <span class="k">CUSTOM</span> <span class="k">INDEX</span> <span class="k">ON</span> <span class="k">users</span> <span class="p">(</span><span class="n">email</span><span class="p">)</span> <span class="k">USING</span> <span class="s1">&#39;path.to.the.IndexClass&#39;</span><span class="p">;</span>
-<span class="k">CREATE</span> <span class="k">CUSTOM</span> <span class="k">INDEX</span> <span class="k">ON</span> <span class="k">users</span> <span class="p">(</span><span class="n">email</span><span class="p">)</span> <span class="k">USING</span> <span class="s1">&#39;path.to.the.IndexClass&#39;</span> <span class="k">WITH</span> <span class="k">OPTIONS</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;storage&#39;</span><span class="p">:</span> <span class [...]
-</pre></div>
-</div>
-<p>The <code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">INDEX</span></code> statement is used to create a new (automatic) secondary index for a given (existing) column in a
-given table. A name for the index itself can be specified before the <code class="docutils literal notranslate"><span class="pre">ON</span></code> keyword, if desired. If data already exists
-for the column, it will be indexed asynchronously. After the index is created, new data for the column is indexed
-automatically at insertion time.</p>
-<p>Attempting to create an already existing index will return an error unless the <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXISTS</span></code> option is used. If it
-is used, the statement will be a no-op if the index already exists.</p>
-<div class="section" id="indexes-on-map-keys">
-<h3>Indexes on Map Keys<a class="headerlink" href="#indexes-on-map-keys" title="Permalink to this headline">¶</a></h3>
-<p>When creating an index on a <a class="reference internal" href="types.html#maps"><span class="std std-ref">maps</span></a>, you may index either the keys or the values. If the column identifier is
-placed within the <code class="docutils literal notranslate"><span class="pre">keys()</span></code> function, the index will be on the map keys, allowing you to use <code class="docutils literal notranslate"><span class="pre">CONTAINS</span> <span class="pre">KEY</span></code> in
-<code class="docutils literal notranslate"><span class="pre">WHERE</span></code> clauses. Otherwise, the index will be on the map values.</p>
-</div>
-</div>
-<div class="section" id="drop-index">
-<span id="drop-index-statement"></span><h2>DROP INDEX<a class="headerlink" href="#drop-index" title="Permalink to this headline">¶</a></h2>
-<p>Dropping a secondary index uses the <code class="docutils literal notranslate"><span class="pre">DROP</span> <span class="pre">INDEX</span></code> statement:</p>
-<pre>
-<strong id="grammar-token-drop-index-statement">drop_index_statement</strong> ::=  DROP INDEX [ IF EXISTS ] <a class="reference internal" href="#grammar-token-index-name"><code class="xref docutils literal notranslate"><span class="pre">index_name</span></code></a>
-</pre>
-<p>The <code class="docutils literal notranslate"><span class="pre">DROP</span> <span class="pre">INDEX</span></code> statement is used to drop an existing secondary index. The argument of the statement is the index
-name, which may optionally specify the keyspace of the index.</p>
-<p>If the index does not exists, the statement will return an error, unless <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">EXISTS</span></code> is used in which case the
-operation is a no-op.</p>
-</div>
-</div>
-
-
-
-          
-          <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation">
-            
-            <a href="mvs.html" class="btn btn-default pull-right " role="button" title="Materialized Views" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
-            
-            
-            <a href="dml.html" class="btn btn-default" role="button" title="Data Manipulation" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
-            
-          </div>
-          
-        </div>
-      </div>
-    </div>
-  </div>
-</div>
-
-    <hr />
-
-<footer>
-  <div class="container">
-    <div class="col-md-4 social-blk">
-      <span class="social">
-        <a href="https://twitter.com/cassandra"
-           class="twitter-follow-button"
-           data-show-count="false" data-size="large">Follow @cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-        <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
-           class="twitter-hashtag-button"
-           data-size="large"
-           data-related="ApacheCassandra">Tweet #cassandra</a>
-        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
-
-      </span>
-      <a class="subscribe-rss icon-link" href="/feed.xml" title="Subscribe to Blog via RSS">
-          <span><i class="fa fa-rss"></i></span>
-      </a>
-    </div>
-
-    <div class="col-md-8 trademark">
-      <p>&copy; 2016 <a href="http://apache.org">The Apache Software Foundation</a>.
-      Apache, the Apache feather logo, and Apache Cassandra are trademarks of The Apache Software Foundation.
-      <p>
-    </div>
-  </div><!-- /.container -->
-</footer>
-
-<!-- Javascript. Placed here so pages load faster -->
-<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
-<script src="./../../../js/underscore-min.js"></script>
-<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
-
-
-<script src="./../../../js/doctools.js"></script>
-<script src="./../../../js/searchtools.js"></script>
-
- <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:    "", VERSION:     "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE:  false, SOURCELINK_SUFFIX: ".txt" }; </script> 
-
-
-
-<script type="text/javascript">
-  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
-  document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
-
-  try {
-    var pageTracker = _gat._getTracker("UA-11583863-1");
-    pageTracker._trackPageview();
-  } catch(err) {}
-</script>
-
-
-  </body>
-</html>
diff --git a/content/doc/4.0/cql/json.html b/content/doc/4.0/cql/json.html
deleted file mode 100644
index c676453..0000000
--- a/content/doc/4.0/cql/json.html
+++ /dev/null
@@ -1,442 +0,0 @@
-<!DOCTYPE html>
-<html>
-  
-
-
-
-<head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="description" content="The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive r [...]
-">
-  <meta name="keywords" content="cassandra, apache, apache cassandra, distributed storage, key value store, scalability, bigtable, dynamo" />
-  <meta name="robots" content="index,follow" />
-  <meta name="language" content="en" />  
-
-  <title>Documentation</title>
-
-  <link rel="canonical" href="http://cassandra.apache.org/doc/4.0/cql/json.html">
-
-  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
-  <link rel="stylesheet" href="./../../../css/style.css">
-  
-  <link rel="stylesheet" href="./../../../css/sphinx.css">
-  
-
-   <link rel="top" title="Apache Cassandra Documentation v4.0" href="../index.html"/> <link rel="up" title="The Cassandra Query Language (CQL)" href="index.html"/> <link rel="next" title="Triggers" href="triggers.html"/> <link rel="prev" title="Arithmetic Operators" href="operators.html"/> 
-  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
-  
-  <link type="application/atom+xml" rel="alternate" href="http://cassandra.apache.org/feed.xml" title="Apache Cassandra Website" />
-</head>
-
-  <body>
-    <!-- breadcrumbs -->
-<div class="topnav">
-  <div class="container breadcrumb-container">
-    <ul class="breadcrumb">
-      <li>
-        <div class="dropdown">
-          <img class="asf-logo" src="./../../../img/asf_feather.png" />
-          <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
-          <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
-            <li><a href="http://www.apache.org">Apache Homepage</a></li>
-            <li><a href="http://www.apache.org/licenses/">License</a></li>
-            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
-            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
-            <li><a href="http://www.apache.org/security/">Security</a></li>
-          </ul>
-        </div>
-      </li>
-
-      
-      <li><a href="./../../../">Apache Cassandra</a></li>
-      
-
-      
-        
-        <li><a href="./../../../doc">Documentation</a></li>
-        
-      
-
-      
-      <li><a href="./">The Cassandra Query Language (CQL)</a></li>
-      
-
-      
-      <li>JSON Support</li>
-      
-    </ul>
-  </div>
-
-  <!-- navbar -->
-  <nav class="navbar navbar-default navbar-static-top" role="navigation">
-    <div class="container">
-      <div class="navbar-header">
-        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
-          <span class="sr-only">Toggle navigation</span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-          <span class="icon-bar"></span>
-        </button>
-        <a class="navbar-brand" href="./../../../"><img src="./../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
-      </div><!-- /.navbar-header -->
-
-      <div id="cassandra-menu" class="collapse navbar-collapse">
-        <ul class="nav navbar-nav navbar-right">
... 131190 lines suppressed ...


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org