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

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/datafusion-comet.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 8ccbf54  Publish built docs triggered by 
1865284559fec6fcad138843604fc5798845f3ce
8ccbf54 is described below

commit 8ccbf5483d9f18be66ce64e47b1b8d27c04e4e47
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Tue Apr 30 01:29:01 2024 +0000

    Publish built docs triggered by 1865284559fec6fcad138843604fc5798845f3ce
---
 _sources/index.rst.txt                             |   1 +
 _sources/user-guide/configs-template.md.txt        |  24 ++
 _sources/user-guide/configs.md.txt                 |  52 +++
 contributor-guide/contributing.html                |   5 +
 contributor-guide/debugging.html                   |   5 +
 contributor-guide/development.html                 |   5 +
 genindex.html                                      |   5 +
 index.html                                         |   6 +
 objects.inv                                        | Bin 479 -> 513 bytes
 search.html                                        |   5 +
 searchindex.js                                     |   2 +-
 user-guide/compatibility.html                      |  11 +-
 .../{operators.html => configs-template.html}      |  50 +--
 user-guide/configs.html                            | 458 +++++++++++++++++++++
 user-guide/datatypes.html                          |  11 +-
 user-guide/expressions.html                        |   5 +
 user-guide/installation.html                       |   5 +
 user-guide/operators.html                          |   5 +
 user-guide/overview.html                           |   5 +
 19 files changed, 617 insertions(+), 43 deletions(-)

diff --git a/_sources/index.rst.txt b/_sources/index.rst.txt
index a19f642..dfd19e5 100644
--- a/_sources/index.rst.txt
+++ b/_sources/index.rst.txt
@@ -45,6 +45,7 @@ as a native runtime to achieve improvement in terms of query 
efficiency and quer
    Supported Expressions <user-guide/expressions>
    Supported Operators <user-guide/operators>
    Supported Data Types <user-guide/datatypes>
+   Configuration Settings <user-guide/configs>
    Compatibility Guide <user-guide/compatibility>
 
 .. _toc.links:
diff --git a/_sources/user-guide/configs-template.md.txt 
b/_sources/user-guide/configs-template.md.txt
new file mode 100644
index 0000000..f5c15b6
--- /dev/null
+++ b/_sources/user-guide/configs-template.md.txt
@@ -0,0 +1,24 @@
+<!---
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# Comet Configuration Settings
+
+Comet provides the following configuration settings.
+
+<!--CONFIG_TABLE-->
diff --git a/_sources/user-guide/configs.md.txt 
b/_sources/user-guide/configs.md.txt
new file mode 100644
index 0000000..3a16cd4
--- /dev/null
+++ b/_sources/user-guide/configs.md.txt
@@ -0,0 +1,52 @@
+<!---
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# Comet Configuration Settings
+
+Comet provides the following configuration settings.
+
+| Config | Description | Default Value |
+|--------|-------------|---------------|
+| spark.comet.ansi.enabled | Comet does not respect ANSI mode in most cases 
and by default will not accelerate queries when ansi mode is enabled. Enable 
this setting to test Comet's experimental support for ANSI mode. This should 
not be used in production. | false |
+| spark.comet.batchSize | The columnar batch size, i.e., the maximum number of 
rows that a batch can contain. | 8192 |
+| spark.comet.cast.stringToTimestamp | Comet is not currently fully compatible 
with Spark when casting from String to Timestamp. | false |
+| spark.comet.columnar.shuffle.async.enabled | Whether to enable asynchronous 
shuffle for Arrow-based shuffle. By default, this config is false. | false |
+| spark.comet.columnar.shuffle.async.max.thread.num | Maximum number of 
threads on an executor used for Comet async columnar shuffle. By default, this 
config is 100. This is the upper bound of total number of shuffle threads per 
executor. In other words, if the number of cores * the number of shuffle 
threads per task `spark.comet.columnar.shuffle.async.thread.num` is larger than 
this config. Comet will use this config as the number of shuffle threads per 
executor instead. | 100 |
+| spark.comet.columnar.shuffle.async.thread.num | Number of threads used for 
Comet async columnar shuffle per shuffle task. By default, this config is 3. 
Note that more threads means more memory requirement to buffer shuffle data 
before flushing to disk. Also, more threads may not always improve performance, 
and should be set based on the number of cores available. | 3 |
+| spark.comet.columnar.shuffle.enabled | Force Comet to only use columnar 
shuffle for CometScan and Spark regular operators. If this is enabled, Comet 
native shuffle will not be enabled but only Arrow shuffle. By default, this 
config is false. | false |
+| spark.comet.columnar.shuffle.memory.factor | Fraction of Comet memory to be 
allocated per executor process for Comet shuffle. Comet memory size is 
specified by `spark.comet.memoryOverhead` or calculated by 
`spark.comet.memory.overhead.factor` * `spark.executor.memory`. By default, 
this config is 1.0. | 1.0 |
+| spark.comet.debug.enabled | Whether to enable debug mode for Comet. By 
default, this config is false. When enabled, Comet will do additional checks 
for debugging purpose. For example, validating array when importing arrays from 
JVM at native side. Note that these checks may be expensive in performance and 
should only be enabled for debugging purpose. | false |
+| spark.comet.enabled | Whether to enable Comet extension for Spark. When this 
is turned on, Spark will use Comet to read Parquet data source. Note that to 
enable native vectorized execution, both this config and 
'spark.comet.exec.enabled' need to be enabled. By default, this config is the 
value of the env var `ENABLE_COMET` if set, or true otherwise. | true |
+| spark.comet.exceptionOnDatetimeRebase | Whether to throw exception when 
seeing dates/timestamps from the legacy hybrid (Julian + Gregorian) calendar. 
Since Spark 3, dates/timestamps were written according to the Proleptic 
Gregorian calendar. When this is true, Comet will throw exceptions when seeing 
these dates/timestamps that were written by Spark version before 3.0. If this 
is false, these dates/timestamps will be read as if they were written to the 
Proleptic Gregorian calendar and w [...]
+| spark.comet.exec.all.enabled | Whether to enable all Comet operators. By 
default, this config is false. Note that this config precedes all separate 
config 'spark.comet.exec.<operator_name>.enabled'. That being said, if this 
config is enabled, separate configs are ignored. | false |
+| spark.comet.exec.all.expr.enabled | Whether to enable all Comet exprs. By 
default, this config is false. Note that this config precedes all separate 
config 'spark.comet.exec.<expr_name>.enabled'. That being said, if this config 
is enabled, separate configs are ignored. | false |
+| spark.comet.exec.broadcast.enabled | Whether to force enabling broadcasting 
for Comet native operators. By default, this config is false. Comet broadcast 
feature will be enabled automatically by Comet extension. But for unit tests, 
we need this feature to force enabling it for invalid cases. So this config is 
only used for unit test. | false |
+| spark.comet.exec.enabled | Whether to enable Comet native vectorized 
execution for Spark. This controls whether Spark should convert operators into 
their Comet counterparts and execute them in native space. Note: each operator 
is associated with a separate config in the format of 
'spark.comet.exec.<operator_name>.enabled' at the moment, and both the config 
and this need to be turned on, in order for the operator to be executed in 
native. By default, this config is false. | false |
+| spark.comet.exec.memoryFraction | The fraction of memory from Comet memory 
overhead that the native memory manager can use for execution. The purpose of 
this config is to set aside memory for untracked data structures, as well as 
imprecise size estimation during memory acquisition. Default value is 0.7. | 
0.7 |
+| spark.comet.exec.shuffle.codec | The codec of Comet native shuffle used to 
compress shuffle data. Only zstd is supported. | zstd |
+| spark.comet.exec.shuffle.enabled | Whether to enable Comet native shuffle. 
By default, this config is false. Note that this requires setting 
'spark.shuffle.manager' to 
'org.apache.spark.sql.comet.execution.shuffle.CometShuffleManager'. 
'spark.shuffle.manager' must be set before starting the Spark application and 
cannot be changed during the application. | false |
+| spark.comet.memory.overhead.factor | Fraction of executor memory to be 
allocated as additional non-heap memory per executor process for Comet. Default 
value is 0.2. | 0.2 |
+| spark.comet.memory.overhead.min | Minimum amount of additional memory to be 
allocated per executor process for Comet, in MiB. | 402653184b |
+| spark.comet.nativeLoadRequired | Whether to require Comet native library to 
load successfully when Comet is enabled. If not, Comet will silently fallback 
to Spark when it fails to load the native lib. Otherwise, an error will be 
thrown and the Spark job will be aborted. | false |
+| spark.comet.parquet.enable.directBuffer | Whether to use Java direct byte 
buffer when reading Parquet. By default, this is false | false |
+| spark.comet.rowToColumnar.supportedOperatorList | A comma-separated list of 
row-based operators that will be converted to columnar format when 
'spark.comet.rowToColumnar.enabled' is true | Range,InMemoryTableScan |
+| spark.comet.scan.enabled | Whether to enable Comet scan. When this is turned 
on, Spark will use Comet to read Parquet data source. Note that to enable 
native vectorized execution, both this config and 'spark.comet.exec.enabled' 
need to be enabled. By default, this config is true. | true |
+| spark.comet.scan.preFetch.enabled | Whether to enable pre-fetching feature 
of CometScan. By default is disabled. | false |
+| spark.comet.scan.preFetch.threadNum | The number of threads running 
pre-fetching for CometScan. Effective if spark.comet.scan.preFetch.enabled is 
enabled. By default it is 2. Note that more pre-fetching threads means more 
memory requirement to store pre-fetched row groups. | 2 |
+| spark.comet.shuffle.preferDictionary.ratio | The ratio of total values to 
distinct values in a string column to decide whether to prefer dictionary 
encoding when shuffling the column. If the ratio is higher than this config, 
dictionary encoding will be used on shuffling string column. This config is 
effective if it is higher than 1.0. By default, this config is 10.0. Note that 
this config is only used when 'spark.comet.columnar.shuffle.enabled' is true. | 
10.0 |
diff --git a/contributor-guide/contributing.html 
b/contributor-guide/contributing.html
index 65d700a..b3271ea 100644
--- a/contributor-guide/contributing.html
+++ b/contributor-guide/contributing.html
@@ -133,6 +133,11 @@ under the License.
    Supported Data Types
   </a>
  </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="../user-guide/configs.html">
+   Configuration Settings
+  </a>
+ </li>
  <li class="toctree-l1">
   <a class="reference internal" href="../user-guide/compatibility.html">
    Compatibility Guide
diff --git a/contributor-guide/debugging.html b/contributor-guide/debugging.html
index a815309..565b2da 100644
--- a/contributor-guide/debugging.html
+++ b/contributor-guide/debugging.html
@@ -132,6 +132,11 @@ under the License.
    Supported Data Types
   </a>
  </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="../user-guide/configs.html">
+   Configuration Settings
+  </a>
+ </li>
  <li class="toctree-l1">
   <a class="reference internal" href="../user-guide/compatibility.html">
    Compatibility Guide
diff --git a/contributor-guide/development.html 
b/contributor-guide/development.html
index 7fd3dd8..aaacfdb 100644
--- a/contributor-guide/development.html
+++ b/contributor-guide/development.html
@@ -133,6 +133,11 @@ under the License.
    Supported Data Types
   </a>
  </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="../user-guide/configs.html">
+   Configuration Settings
+  </a>
+ </li>
  <li class="toctree-l1">
   <a class="reference internal" href="../user-guide/compatibility.html">
    Compatibility Guide
diff --git a/genindex.html b/genindex.html
index ba9c7bc..05f1304 100644
--- a/genindex.html
+++ b/genindex.html
@@ -130,6 +130,11 @@ under the License.
    Supported Data Types
   </a>
  </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="user-guide/configs.html">
+   Configuration Settings
+  </a>
+ </li>
  <li class="toctree-l1">
   <a class="reference internal" href="user-guide/compatibility.html">
    Compatibility Guide
diff --git a/index.html b/index.html
index 4ac8053..fed0583 100644
--- a/index.html
+++ b/index.html
@@ -132,6 +132,11 @@ under the License.
    Supported Data Types
   </a>
  </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="user-guide/configs.html">
+   Configuration Settings
+  </a>
+ </li>
  <li class="toctree-l1">
   <a class="reference internal" href="user-guide/compatibility.html">
    Compatibility Guide
@@ -271,6 +276,7 @@ as a native runtime to achieve improvement in terms of 
query efficiency and quer
 <li class="toctree-l1"><a class="reference internal" 
href="user-guide/expressions.html">Supported Expressions</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="user-guide/operators.html">Supported Operators</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="user-guide/datatypes.html">Supported Data Types</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="user-guide/configs.html">Configuration Settings</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="user-guide/compatibility.html">Compatibility Guide</a></li>
 </ul>
 </div>
diff --git a/objects.inv b/objects.inv
index f82e77b..9888be6 100644
Binary files a/objects.inv and b/objects.inv differ
diff --git a/search.html b/search.html
index 4e8a4ca..9566c2e 100644
--- a/search.html
+++ b/search.html
@@ -137,6 +137,11 @@ under the License.
    Supported Data Types
   </a>
  </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="user-guide/configs.html">
+   Configuration Settings
+  </a>
+ </li>
  <li class="toctree-l1">
   <a class="reference internal" href="user-guide/compatibility.html">
    Compatibility Guide
diff --git a/searchindex.js b/searchindex.js
index 983843b..af6defb 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"ANSI mode": [[4, "ansi-mode"]], "ASF Links": 
[[3, null]], "Additional Info": [[1, "additional-info"]], "After your debugging 
is done,": [[1, "after-your-debugging-is-done"]], "Apache DataFusion Comet": 
[[3, "apache-datafusion-comet"]], "Architecture": [[9, "architecture"]], 
"Asking for Help": [[0, "asking-for-help"]], "Benchmark": [[2, "benchmark"]], 
"Build & Test": [[2, "build-test"]], "Building From Source": [[7, 
"building-from-source"]], "CLion": [[2, " [...]
\ No newline at end of file
+Search.setIndex({"alltitles": {"ANSI mode": [[4, "ansi-mode"]], "ASF Links": 
[[3, null]], "Additional Info": [[1, "additional-info"]], "After your debugging 
is done,": [[1, "after-your-debugging-is-done"]], "Apache DataFusion Comet": 
[[3, "apache-datafusion-comet"]], "Architecture": [[11, "architecture"]], 
"Asking for Help": [[0, "asking-for-help"]], "Benchmark": [[2, "benchmark"]], 
"Build & Test": [[2, "build-test"]], "Building From Source": [[9, 
"building-from-source"]], "CLion": [[2,  [...]
\ No newline at end of file
diff --git a/user-guide/compatibility.html b/user-guide/compatibility.html
index 6e8e150..6e02a07 100644
--- a/user-guide/compatibility.html
+++ b/user-guide/compatibility.html
@@ -54,7 +54,7 @@ under the License.
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Contributing to Apache DataFusion Comet" 
href="../contributor-guide/contributing.html" />
-    <link rel="prev" title="Supported Spark Data Types" href="datatypes.html" 
/>
+    <link rel="prev" title="Comet Configuration Settings" href="configs.html" 
/>
     <meta name="viewport" content="width=device-width, initial-scale=1" />
     <meta name="docsearch:language" content="en">
     
@@ -133,6 +133,11 @@ under the License.
    Supported Data Types
   </a>
  </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="configs.html">
+   Configuration Settings
+  </a>
+ </li>
  <li class="toctree-l1 current active">
   <a class="current reference internal" href="#">
    Compatibility Guide
@@ -326,11 +331,11 @@ issues, and can be enabled by setting <code 
class="docutils literal notranslate"
               
               <!-- Previous / next buttons -->
 <div class='prev-next-area'>
-    <a class='left-prev' id="prev-link" href="datatypes.html" title="previous 
page">
+    <a class='left-prev' id="prev-link" href="configs.html" title="previous 
page">
         <i class="fas fa-angle-left"></i>
         <div class="prev-next-info">
             <p class="prev-next-subtitle">previous</p>
-            <p class="prev-next-title">Supported Spark Data Types</p>
+            <p class="prev-next-title">Comet Configuration Settings</p>
         </div>
     </a>
     <a class='right-next' id="next-link" 
href="../contributor-guide/contributing.html" title="next page">
diff --git a/user-guide/operators.html b/user-guide/configs-template.html
similarity index 85%
copy from user-guide/operators.html
copy to user-guide/configs-template.html
index 3413b78..8f3d11f 100644
--- a/user-guide/operators.html
+++ b/user-guide/configs-template.html
@@ -24,7 +24,7 @@ under the License.
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" 
/><meta name="viewport" content="width=device-width, initial-scale=1" />
 
-    <title>Supported Spark Operators &#8212; Apache DataFusion Comet  
documentation</title>
+    <title>Comet Configuration Settings &#8212; Apache DataFusion Comet  
documentation</title>
     
     <link href="../_static/styles/theme.css?digest=1999514e3f237ded88cf" 
rel="stylesheet">
 <link 
href="../_static/styles/pydata-sphinx-theme.css?digest=1999514e3f237ded88cf" 
rel="stylesheet">
@@ -53,8 +53,6 @@ under the License.
     <script async="true" defer="true" 
src="https://buttons.github.io/buttons.js";></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
-    <link rel="next" title="Supported Spark Data Types" href="datatypes.html" 
/>
-    <link rel="prev" title="Supported Spark Expressions" 
href="expressions.html" />
     <meta name="viewport" content="width=device-width, initial-scale=1" />
     <meta name="docsearch:language" content="en">
     
@@ -107,7 +105,7 @@ under the License.
   User Guide
  </span>
 </p>
-<ul class="current nav bd-sidenav">
+<ul class="nav bd-sidenav">
  <li class="toctree-l1">
   <a class="reference internal" href="overview.html">
    Comet Overview
@@ -123,8 +121,8 @@ under the License.
    Supported Expressions
   </a>
  </li>
- <li class="toctree-l1 current active">
-  <a class="current reference internal" href="#">
+ <li class="toctree-l1">
+  <a class="reference internal" href="operators.html">
    Supported Operators
   </a>
  </li>
@@ -133,6 +131,11 @@ under the License.
    Supported Data Types
   </a>
  </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="configs.html">
+   Configuration Settings
+  </a>
+ </li>
  <li class="toctree-l1">
   <a class="reference internal" href="compatibility.html">
    Compatibility Guide
@@ -235,7 +238,7 @@ under the License.
                 
 
 <div class="tocsection editthispage">
-    <a 
href="https://github.com/apache/datafusion-comet/edit/main/docs/source/user-guide/operators.md";>
+    <a 
href="https://github.com/apache/datafusion-comet/edit/main/docs/source/user-guide/configs-template.md";>
         <i class="fas fa-pencil-alt"></i> Edit this page
     </a>
 </div>
@@ -272,21 +275,10 @@ under the License.
   specific language governing permissions and limitations
   under the License.
 -->
-<section id="supported-spark-operators">
-<h1>Supported Spark Operators<a class="headerlink" 
href="#supported-spark-operators" title="Link to this heading">¶</a></h1>
-<p>The following Spark operators are currently available:</p>
-<ul class="simple">
-<li><p>FileSourceScanExec/BatchScanExec for Parquet</p></li>
-<li><p>Projection</p></li>
-<li><p>Filter</p></li>
-<li><p>Sort</p></li>
-<li><p>Hash Aggregate</p></li>
-<li><p>Limit</p></li>
-<li><p>Sort-merge Join</p></li>
-<li><p>Hash Join</p></li>
-<li><p>Shuffle</p></li>
-<li><p>Expand</p></li>
-</ul>
+<section id="comet-configuration-settings">
+<h1>Comet Configuration Settings<a class="headerlink" 
href="#comet-configuration-settings" title="Link to this heading">¶</a></h1>
+<p>Comet provides the following configuration settings.</p>
+<!--CONFIG_TABLE-->
 </section>
 
 
@@ -295,20 +287,6 @@ under the License.
               
               <!-- Previous / next buttons -->
 <div class='prev-next-area'>
-    <a class='left-prev' id="prev-link" href="expressions.html" 
title="previous page">
-        <i class="fas fa-angle-left"></i>
-        <div class="prev-next-info">
-            <p class="prev-next-subtitle">previous</p>
-            <p class="prev-next-title">Supported Spark Expressions</p>
-        </div>
-    </a>
-    <a class='right-next' id="next-link" href="datatypes.html" title="next 
page">
-    <div class="prev-next-info">
-        <p class="prev-next-subtitle">next</p>
-        <p class="prev-next-title">Supported Spark Data Types</p>
-    </div>
-    <i class="fas fa-angle-right"></i>
-    </a>
 </div>
               
           </main>
diff --git a/user-guide/configs.html b/user-guide/configs.html
new file mode 100644
index 0000000..9c3cdf4
--- /dev/null
+++ b/user-guide/configs.html
@@ -0,0 +1,458 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<!DOCTYPE html>
+
+<html lang="en" data-content_root="../">
+  <head>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" 
/><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+    <title>Comet Configuration Settings &#8212; Apache DataFusion Comet  
documentation</title>
+    
+    <link href="../_static/styles/theme.css?digest=1999514e3f237ded88cf" 
rel="stylesheet">
+<link 
href="../_static/styles/pydata-sphinx-theme.css?digest=1999514e3f237ded88cf" 
rel="stylesheet">
+  
+    
+    <link rel="stylesheet"
+      href="../_static/vendor/fontawesome/5.13.0/css/all.min.css">
+    <link rel="preload" as="font" type="font/woff2" crossorigin
+      href="../_static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.woff2">
+    <link rel="preload" as="font" type="font/woff2" crossorigin
+      href="../_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
+  
+    
+      
+  
+    
+    <link rel="stylesheet" type="text/css" 
href="../_static/pygments.css?v=a746c00c" />
+    <link rel="stylesheet" type="text/css" 
href="../_static/styles/pydata-sphinx-theme.css?v=1140d252" />
+    <link rel="stylesheet" type="text/css" 
href="../_static/theme_overrides.css?v=c6d785ac" />
+    
+    <link rel="preload" as="script" 
href="../_static/scripts/pydata-sphinx-theme.js?digest=1999514e3f237ded88cf">
+  
+    <script src="../_static/documentation_options.js?v=8a448e45"></script>
+    <script src="../_static/doctools.js?v=9a2dae69"></script>
+    <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+    <script async="true" defer="true" 
src="https://buttons.github.io/buttons.js";></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Compatibility Guide" href="compatibility.html" />
+    <link rel="prev" title="Supported Spark Data Types" href="datatypes.html" 
/>
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <meta name="docsearch:language" content="en">
+    
+
+    <!-- Google Analytics -->
+    
+  </head>
+  <body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
+    
+    <div class="container-fluid" id="banner"></div>
+
+    
+
+
+    <div class="container-xl">
+      <div class="row">
+          
+            
+            <!-- Only show if we have sidebars configured, else just a small 
margin  -->
+            <div class="col-12 col-md-3 bd-sidebar">
+              <div class="sidebar-start-items"><!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<form class="bd-search d-flex align-items-center" action="../search.html" 
method="get">
+  <i class="icon fas fa-search"></i>
+  <input type="search" class="form-control" name="q" id="search-input" 
placeholder="Search the docs ..." aria-label="Search the docs ..." 
autocomplete="off" >
+</form>
+
+<nav class="bd-links" id="bd-docs-nav" aria-label="Main navigation">
+  <div class="bd-toc-item active">
+    
+    <p aria-level="2" class="caption" role="heading">
+ <span class="caption-text">
+  User Guide
+ </span>
+</p>
+<ul class="current nav bd-sidenav">
+ <li class="toctree-l1">
+  <a class="reference internal" href="overview.html">
+   Comet Overview
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="installation.html">
+   Installing Comet
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="expressions.html">
+   Supported Expressions
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="operators.html">
+   Supported Operators
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="datatypes.html">
+   Supported Data Types
+  </a>
+ </li>
+ <li class="toctree-l1 current active">
+  <a class="current reference internal" href="#">
+   Configuration Settings
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="compatibility.html">
+   Compatibility Guide
+  </a>
+ </li>
+</ul>
+<p aria-level="2" class="caption" role="heading">
+ <span class="caption-text">
+  Contributor Guide
+ </span>
+</p>
+<ul class="nav bd-sidenav">
+ <li class="toctree-l1">
+  <a class="reference internal" href="../contributor-guide/contributing.html">
+   Getting Started
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference external" 
href="https://github.com/apache/datafusion-comet";>
+   Github and Issue Tracker
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="../contributor-guide/development.html">
+   Comet Development Guide
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="../contributor-guide/debugging.html">
+   Comet Debugging Guide
+  </a>
+ </li>
+</ul>
+<p aria-level="2" class="caption" role="heading">
+ <span class="caption-text">
+  ASF Links
+ </span>
+</p>
+<ul class="nav bd-sidenav">
+ <li class="toctree-l1">
+  <a class="reference external" href="https://apache.org";>
+   Apache Software Foundation
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference external" href="https://www.apache.org/licenses/";>
+   License
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference external" 
href="https://www.apache.org/foundation/sponsorship.html";>
+   Donate
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference external" 
href="https://www.apache.org/foundation/thanks.html";>
+   Thanks
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference external" href="https://www.apache.org/security/";>
+   Security
+  </a>
+ </li>
+ <li class="toctree-l1">
+  <a class="reference external" 
href="https://www.apache.org/foundation/policies/conduct.html";>
+   Code of conduct
+  </a>
+ </li>
+</ul>
+
+    
+  </div>
+
+  <a class="navbar-brand" href="../index.html">
+    <img src="../_static/images/2x_bgwhite_original.png" class="logo" 
alt="logo">
+  </a>
+</nav>
+
+              </div>
+              <div class="sidebar-end-items">
+              </div>
+            </div>
+            
+          
+
+          
+          <div class="d-none d-xl-block col-xl-2 bd-toc">
+            
+              
+              <div class="toc-item">
+                
+
+<nav id="bd-toc-nav">
+    
+</nav>
+              </div>
+              
+              <div class="toc-item">
+                
+
+<div class="tocsection editthispage">
+    <a 
href="https://github.com/apache/datafusion-comet/edit/main/docs/source/user-guide/configs.md";>
+        <i class="fas fa-pencil-alt"></i> Edit this page
+    </a>
+</div>
+
+              </div>
+              
+            
+          </div>
+          
+
+          
+          
+            
+          
+          <main class="col-12 col-md-9 col-xl-7 py-md-5 pl-md-5 pr-md-4 
bd-content" role="main">
+              
+              <div>
+                
+  <!---
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<section id="comet-configuration-settings">
+<h1>Comet Configuration Settings<a class="headerlink" 
href="#comet-configuration-settings" title="Link to this heading">¶</a></h1>
+<p>Comet provides the following configuration settings.</p>
+<table class="table">
+<thead>
+<tr class="row-odd"><th class="head"><p>Config</p></th>
+<th class="head"><p>Description</p></th>
+<th class="head"><p>Default Value</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>spark.comet.ansi.enabled</p></td>
+<td><p>Comet does not respect ANSI mode in most cases and by default will not 
accelerate queries when ansi mode is enabled. Enable this setting to test 
Comet’s experimental support for ANSI mode. This should not be used in 
production.</p></td>
+<td><p>false</p></td>
+</tr>
+<tr class="row-odd"><td><p>spark.comet.batchSize</p></td>
+<td><p>The columnar batch size, i.e., the maximum number of rows that a batch 
can contain.</p></td>
+<td><p>8192</p></td>
+</tr>
+<tr class="row-even"><td><p>spark.comet.cast.stringToTimestamp</p></td>
+<td><p>Comet is not currently fully compatible with Spark when casting from 
String to Timestamp.</p></td>
+<td><p>false</p></td>
+</tr>
+<tr class="row-odd"><td><p>spark.comet.columnar.shuffle.async.enabled</p></td>
+<td><p>Whether to enable asynchronous shuffle for Arrow-based shuffle. By 
default, this config is false.</p></td>
+<td><p>false</p></td>
+</tr>
+<tr 
class="row-even"><td><p>spark.comet.columnar.shuffle.async.max.thread.num</p></td>
+<td><p>Maximum number of threads on an executor used for Comet async columnar 
shuffle. By default, this config is 100. This is the upper bound of total 
number of shuffle threads per executor. In other words, if the number of cores 
* the number of shuffle threads per task <code class="docutils literal 
notranslate"><span 
class="pre">spark.comet.columnar.shuffle.async.thread.num</span></code> is 
larger than this config. Comet will use this config as the number of shuffle 
threads per executo [...]
+<td><p>100</p></td>
+</tr>
+<tr 
class="row-odd"><td><p>spark.comet.columnar.shuffle.async.thread.num</p></td>
+<td><p>Number of threads used for Comet async columnar shuffle per shuffle 
task. By default, this config is 3. Note that more threads means more memory 
requirement to buffer shuffle data before flushing to disk. Also, more threads 
may not always improve performance, and should be set based on the number of 
cores available.</p></td>
+<td><p>3</p></td>
+</tr>
+<tr class="row-even"><td><p>spark.comet.columnar.shuffle.enabled</p></td>
+<td><p>Force Comet to only use columnar shuffle for CometScan and Spark 
regular operators. If this is enabled, Comet native shuffle will not be enabled 
but only Arrow shuffle. By default, this config is false.</p></td>
+<td><p>false</p></td>
+</tr>
+<tr class="row-odd"><td><p>spark.comet.columnar.shuffle.memory.factor</p></td>
+<td><p>Fraction of Comet memory to be allocated per executor process for Comet 
shuffle. Comet memory size is specified by <code class="docutils literal 
notranslate"><span class="pre">spark.comet.memoryOverhead</span></code> or 
calculated by <code class="docutils literal notranslate"><span 
class="pre">spark.comet.memory.overhead.factor</span></code> * <code 
class="docutils literal notranslate"><span 
class="pre">spark.executor.memory</span></code>. By default, this config is 
1.0.</p></td>
+<td><p>1.0</p></td>
+</tr>
+<tr class="row-even"><td><p>spark.comet.debug.enabled</p></td>
+<td><p>Whether to enable debug mode for Comet. By default, this config is 
false. When enabled, Comet will do additional checks for debugging purpose. For 
example, validating array when importing arrays from JVM at native side. Note 
that these checks may be expensive in performance and should only be enabled 
for debugging purpose.</p></td>
+<td><p>false</p></td>
+</tr>
+<tr class="row-odd"><td><p>spark.comet.enabled</p></td>
+<td><p>Whether to enable Comet extension for Spark. When this is turned on, 
Spark will use Comet to read Parquet data source. Note that to enable native 
vectorized execution, both this config and ‘spark.comet.exec.enabled’ need to 
be enabled. By default, this config is the value of the env var <code 
class="docutils literal notranslate"><span 
class="pre">ENABLE_COMET</span></code> if set, or true otherwise.</p></td>
+<td><p>true</p></td>
+</tr>
+<tr class="row-even"><td><p>spark.comet.exceptionOnDatetimeRebase</p></td>
+<td><p>Whether to throw exception when seeing dates/timestamps from the legacy 
hybrid (Julian + Gregorian) calendar. Since Spark 3, dates/timestamps were 
written according to the Proleptic Gregorian calendar. When this is true, Comet 
will throw exceptions when seeing these dates/timestamps that were written by 
Spark version before 3.0. If this is false, these dates/timestamps will be read 
as if they were written to the Proleptic Gregorian calendar and will not be 
rebased.</p></td>
+<td><p>false</p></td>
+</tr>
+<tr class="row-odd"><td><p>spark.comet.exec.all.enabled</p></td>
+<td><p>Whether to enable all Comet operators. By default, this config is 
false. Note that this config precedes all separate config 
‘spark.comet.exec.&lt;operator_name&gt;.enabled’. That being said, if this 
config is enabled, separate configs are ignored.</p></td>
+<td><p>false</p></td>
+</tr>
+<tr class="row-even"><td><p>spark.comet.exec.all.expr.enabled</p></td>
+<td><p>Whether to enable all Comet exprs. By default, this config is false. 
Note that this config precedes all separate config 
‘spark.comet.exec.&lt;expr_name&gt;.enabled’. That being said, if this config 
is enabled, separate configs are ignored.</p></td>
+<td><p>false</p></td>
+</tr>
+<tr class="row-odd"><td><p>spark.comet.exec.broadcast.enabled</p></td>
+<td><p>Whether to force enabling broadcasting for Comet native operators. By 
default, this config is false. Comet broadcast feature will be enabled 
automatically by Comet extension. But for unit tests, we need this feature to 
force enabling it for invalid cases. So this config is only used for unit 
test.</p></td>
+<td><p>false</p></td>
+</tr>
+<tr class="row-even"><td><p>spark.comet.exec.enabled</p></td>
+<td><p>Whether to enable Comet native vectorized execution for Spark. This 
controls whether Spark should convert operators into their Comet counterparts 
and execute them in native space. Note: each operator is associated with a 
separate config in the format of 
‘spark.comet.exec.&lt;operator_name&gt;.enabled’ at the moment, and both the 
config and this need to be turned on, in order for the operator to be executed 
in native. By default, this config is false.</p></td>
+<td><p>false</p></td>
+</tr>
+<tr class="row-odd"><td><p>spark.comet.exec.memoryFraction</p></td>
+<td><p>The fraction of memory from Comet memory overhead that the native 
memory manager can use for execution. The purpose of this config is to set 
aside memory for untracked data structures, as well as imprecise size 
estimation during memory acquisition. Default value is 0.7.</p></td>
+<td><p>0.7</p></td>
+</tr>
+<tr class="row-even"><td><p>spark.comet.exec.shuffle.codec</p></td>
+<td><p>The codec of Comet native shuffle used to compress shuffle data. Only 
zstd is supported.</p></td>
+<td><p>zstd</p></td>
+</tr>
+<tr class="row-odd"><td><p>spark.comet.exec.shuffle.enabled</p></td>
+<td><p>Whether to enable Comet native shuffle. By default, this config is 
false. Note that this requires setting ‘spark.shuffle.manager’ to 
‘org.apache.spark.sql.comet.execution.shuffle.CometShuffleManager’. 
‘spark.shuffle.manager’ must be set before starting the Spark application and 
cannot be changed during the application.</p></td>
+<td><p>false</p></td>
+</tr>
+<tr class="row-even"><td><p>spark.comet.memory.overhead.factor</p></td>
+<td><p>Fraction of executor memory to be allocated as additional non-heap 
memory per executor process for Comet. Default value is 0.2.</p></td>
+<td><p>0.2</p></td>
+</tr>
+<tr class="row-odd"><td><p>spark.comet.memory.overhead.min</p></td>
+<td><p>Minimum amount of additional memory to be allocated per executor 
process for Comet, in MiB.</p></td>
+<td><p>402653184b</p></td>
+</tr>
+<tr class="row-even"><td><p>spark.comet.nativeLoadRequired</p></td>
+<td><p>Whether to require Comet native library to load successfully when Comet 
is enabled. If not, Comet will silently fallback to Spark when it fails to load 
the native lib. Otherwise, an error will be thrown and the Spark job will be 
aborted.</p></td>
+<td><p>false</p></td>
+</tr>
+<tr class="row-odd"><td><p>spark.comet.parquet.enable.directBuffer</p></td>
+<td><p>Whether to use Java direct byte buffer when reading Parquet. By 
default, this is false</p></td>
+<td><p>false</p></td>
+</tr>
+<tr 
class="row-even"><td><p>spark.comet.rowToColumnar.supportedOperatorList</p></td>
+<td><p>A comma-separated list of row-based operators that will be converted to 
columnar format when ‘spark.comet.rowToColumnar.enabled’ is true</p></td>
+<td><p>Range,InMemoryTableScan</p></td>
+</tr>
+<tr class="row-odd"><td><p>spark.comet.scan.enabled</p></td>
+<td><p>Whether to enable Comet scan. When this is turned on, Spark will use 
Comet to read Parquet data source. Note that to enable native vectorized 
execution, both this config and ‘spark.comet.exec.enabled’ need to be enabled. 
By default, this config is true.</p></td>
+<td><p>true</p></td>
+</tr>
+<tr class="row-even"><td><p>spark.comet.scan.preFetch.enabled</p></td>
+<td><p>Whether to enable pre-fetching feature of CometScan. By default is 
disabled.</p></td>
+<td><p>false</p></td>
+</tr>
+<tr class="row-odd"><td><p>spark.comet.scan.preFetch.threadNum</p></td>
+<td><p>The number of threads running pre-fetching for CometScan. Effective if 
spark.comet.scan.preFetch.enabled is enabled. By default it is 2. Note that 
more pre-fetching threads means more memory requirement to store pre-fetched 
row groups.</p></td>
+<td><p>2</p></td>
+</tr>
+<tr class="row-even"><td><p>spark.comet.shuffle.preferDictionary.ratio</p></td>
+<td><p>The ratio of total values to distinct values in a string column to 
decide whether to prefer dictionary encoding when shuffling the column. If the 
ratio is higher than this config, dictionary encoding will be used on shuffling 
string column. This config is effective if it is higher than 1.0. By default, 
this config is 10.0. Note that this config is only used when 
‘spark.comet.columnar.shuffle.enabled’ is true.</p></td>
+<td><p>10.0</p></td>
+</tr>
+</tbody>
+</table>
+</section>
+
+
+              </div>
+              
+              
+              <!-- Previous / next buttons -->
+<div class='prev-next-area'>
+    <a class='left-prev' id="prev-link" href="datatypes.html" title="previous 
page">
+        <i class="fas fa-angle-left"></i>
+        <div class="prev-next-info">
+            <p class="prev-next-subtitle">previous</p>
+            <p class="prev-next-title">Supported Spark Data Types</p>
+        </div>
+    </a>
+    <a class='right-next' id="next-link" href="compatibility.html" title="next 
page">
+    <div class="prev-next-info">
+        <p class="prev-next-subtitle">next</p>
+        <p class="prev-next-title">Compatibility Guide</p>
+    </div>
+    <i class="fas fa-angle-right"></i>
+    </a>
+</div>
+              
+          </main>
+          
+
+      </div>
+    </div>
+  
+    <script 
src="../_static/scripts/pydata-sphinx-theme.js?digest=1999514e3f237ded88cf"></script>
+  
+<!-- Based on pydata_sphinx_theme/footer.html -->
+<footer class="footer mt-5 mt-md-0">
+  <div class="container">
+    
+    <div class="footer-item">
+      <p class="copyright">
+    &copy; Copyright 2023-2024, Apache Software Foundation.<br>
+</p>
+    </div>
+    
+    <div class="footer-item">
+      <p class="sphinx-version">
+Created using <a href="http://sphinx-doc.org/";>Sphinx</a> 7.3.7.<br>
+</p>
+    </div>
+    
+    <div class="footer-item">
+      <p>Apache DataFusion, Apache DataFusion Comet, Apache, the Apache 
feather logo, and the Apache DataFusion project logo</p>
+      <p>are either registered trademarks or trademarks of The Apache Software 
Foundation in the United States and other countries.</p>
+    </div>
+  </div>
+</footer>
+
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/user-guide/datatypes.html b/user-guide/datatypes.html
index 43f4864..bd44c2c 100644
--- a/user-guide/datatypes.html
+++ b/user-guide/datatypes.html
@@ -53,7 +53,7 @@ under the License.
     <script async="true" defer="true" 
src="https://buttons.github.io/buttons.js";></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
-    <link rel="next" title="Compatibility Guide" href="compatibility.html" />
+    <link rel="next" title="Comet Configuration Settings" href="configs.html" 
/>
     <link rel="prev" title="Supported Spark Operators" href="operators.html" />
     <meta name="viewport" content="width=device-width, initial-scale=1" />
     <meta name="docsearch:language" content="en">
@@ -133,6 +133,11 @@ under the License.
    Supported Data Types
   </a>
  </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="configs.html">
+   Configuration Settings
+  </a>
+ </li>
  <li class="toctree-l1">
   <a class="reference internal" href="compatibility.html">
    Compatibility Guide
@@ -315,10 +320,10 @@ under the License.
             <p class="prev-next-title">Supported Spark Operators</p>
         </div>
     </a>
-    <a class='right-next' id="next-link" href="compatibility.html" title="next 
page">
+    <a class='right-next' id="next-link" href="configs.html" title="next page">
     <div class="prev-next-info">
         <p class="prev-next-subtitle">next</p>
-        <p class="prev-next-title">Compatibility Guide</p>
+        <p class="prev-next-title">Comet Configuration Settings</p>
     </div>
     <i class="fas fa-angle-right"></i>
     </a>
diff --git a/user-guide/expressions.html b/user-guide/expressions.html
index 51a6f7d..38157ca 100644
--- a/user-guide/expressions.html
+++ b/user-guide/expressions.html
@@ -133,6 +133,11 @@ under the License.
    Supported Data Types
   </a>
  </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="configs.html">
+   Configuration Settings
+  </a>
+ </li>
  <li class="toctree-l1">
   <a class="reference internal" href="compatibility.html">
    Compatibility Guide
diff --git a/user-guide/installation.html b/user-guide/installation.html
index 58edda9..2fc495b 100644
--- a/user-guide/installation.html
+++ b/user-guide/installation.html
@@ -133,6 +133,11 @@ under the License.
    Supported Data Types
   </a>
  </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="configs.html">
+   Configuration Settings
+  </a>
+ </li>
  <li class="toctree-l1">
   <a class="reference internal" href="compatibility.html">
    Compatibility Guide
diff --git a/user-guide/operators.html b/user-guide/operators.html
index 3413b78..7ab4f9f 100644
--- a/user-guide/operators.html
+++ b/user-guide/operators.html
@@ -133,6 +133,11 @@ under the License.
    Supported Data Types
   </a>
  </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="configs.html">
+   Configuration Settings
+  </a>
+ </li>
  <li class="toctree-l1">
   <a class="reference internal" href="compatibility.html">
    Compatibility Guide
diff --git a/user-guide/overview.html b/user-guide/overview.html
index 34e15de..4cf5e64 100644
--- a/user-guide/overview.html
+++ b/user-guide/overview.html
@@ -133,6 +133,11 @@ under the License.
    Supported Data Types
   </a>
  </li>
+ <li class="toctree-l1">
+  <a class="reference internal" href="configs.html">
+   Configuration Settings
+  </a>
+ </li>
  <li class="toctree-l1">
   <a class="reference internal" href="compatibility.html">
    Compatibility Guide


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to