mxm commented on code in PR #17938:
URL: https://github.com/apache/iceberg/pull/17938#discussion_r3933353419


##########
docs/docs/flink-configuration.md:
##########
@@ -159,9 +159,15 @@ INSERT INTO tableName /*+ OPTIONS('upsert-enabled'='true') 
*/
 | compression-level                       | Table 
write.(fileformat).compression-level | Overrides this table's compression level 
for Parquet and Avro tables for this write                                      
                       |
 | compression-strategy                    | Table 
write.orc.compression-strategy       | Overrides this table's compression 
strategy for ORC tables for this write                                          
                             |
 | write-parallelism                       | Upstream operator parallelism      
        | Overrides the writer parallelism                                      
                                                                          |
+| branch                                  | main                               
        | Branch to write to                                                    
                                                                          |
+| table-refresh-interval                  | null (disabled)                    
        | Interval at which the writers refresh the table metadata, so that 
long-running jobs pick up changes such as updated table properties. 
Experimental. |
 | uid-suffix                              | As per table property              
        | Overrides the uid suffix used in the underlying IcebergSink for this 
table                                                                      |
 | shred-variants                          | Table write.parquet.shred-variants 
        | Overrides this table's shred variants for this write |
 | variant-inference-buffer-size           | Table 
write.parquet.variant-inference-buffer-size | Overrides this table's variant 
inference buffer size for this write |
+| flink-maintenance.rewrite.enabled       | false                              
        | Run data file compaction after successful commits. Only used by 
`IcebergSink`, see [post-commit table 
maintenance](flink-maintenance.md#icebergsink-with-post-commit-integration). |
+| flink-maintenance.expire-snapshots.enabled | false                           
        | Expire old snapshots after successful commits. Only used by 
`IcebergSink`, see [post-commit table 
maintenance](flink-maintenance.md#icebergsink-with-post-commit-integration). |
+| flink-maintenance.delete-orphan-files.enabled | false                        
        | Delete orphan files after successful commits. Only used by 
`IcebergSink`, see [post-commit table 
maintenance](flink-maintenance.md#icebergsink-with-post-commit-integration). |
+| flink-maintenance.convert-equality-deletes.enabled | false                   
        | Convert equality deletes to deletion vectors after successful 
commits. Only used by `IcebergSink`, see [post-commit table 
maintenance](flink-maintenance.md#icebergsink-with-post-commit-integration). |

Review Comment:
   Previously there was some discussion whether to include maintenance options 
here, but I think it makes sense to reference at least the enable flags here.



##########
docs/docs/flink-configuration.md:
##########
@@ -201,3 +207,26 @@ they are.
 This is only applicable to [`StatisticsType.Map`](../../javadoc/{{ 
icebergVersion 
}}/org/apache/iceberg/flink/sink/shuffle/StatisticsType.html#Map) for 
low-cardinality scenario. For [`StatisticsType.Sketch`](../../javadoc/{{ 
icebergVersion 
}}/org/apache/iceberg/flink/sink/shuffle/StatisticsType.html#Sketch) 
high-cardinality sort columns, they are usually not used as
 partition columns. Otherwise, too many partitions and small files may be 
generated during
 write. Sketch range partitioner simply splits high-cardinality keys into 
ordered ranges.
+
+### Execution options
+
+Iceberg also provides a set of `table.exec.iceberg.*` options that are read 
from the Flink
+configuration instead of per-job read or write options. In SQL they are set on 
the session:
+
+```sql
+SET 'table.exec.iceberg.infer-source-parallelism' = 'false';
+```
+
+When using the DataStream API, they can be set in the `Configuration` passed 
to the source or sink
+builder.
+
+| Flink configuration                              | Default                   
           | Description                                                        
                                                                                
                                                                      |
+|--------------------------------------------------|--------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| table.exec.iceberg.infer-source-parallelism      | true                      
           | If true, the source parallelism for batch reads is inferred from 
the number of scan splits, capped by 
`table.exec.iceberg.infer-source-parallelism.max` and by the query limit if one 
is set. If false, the source parallelism is taken from the Flink configuration. 
Streaming reads never infer parallelism. |
+| table.exec.iceberg.infer-source-parallelism.max  | 100                       
           | Maximum inferred parallelism for the source operator.              
                                                                                
                                                                      |
+| table.exec.iceberg.expose-split-locality-info    | none                      
           | Whether to expose split host information to use Flink's 
locality-aware split assigner. Only applies to the deprecated `FlinkSource`, 
i.e. when `table.exec.iceberg.use-flip27-source` is `false`; the FLIP-27 
`IcebergSource` ignores this option. If unset, locality information is exposed 
automatically when the table's storage can provide block locations (for example 
HDFS). |
+| table.exec.iceberg.fetch-batch-record-count      | 2048                      
           | Target number of records per fetch batch in the Iceberg source 
reader.                                                                         
                                                                          |
+| table.exec.iceberg.worker-pool-size              | max(2, available cpu)    
| Size of the worker pool used to plan or scan manifests. Defaults to the 
shared Iceberg worker pool size, which is controlled by the 
`iceberg.worker.num-threads` system property.                                   
      |
+| table.exec.iceberg.split-assigner-type           | simple                    
           | Split assigner type that determines how splits are assigned to 
readers. Currently the only type is `simple`, which doesn't provide any 
guarantee on order or locality.                                                 
   |
+| table.exec.iceberg.use-flip27-source             | true                      
           | Use the 
[FLIP-27](https://cwiki.apache.org/confluence/spaces/FLINK/pages/95653746/FLIP-27+Refactor+Source+Interface)
 based `IcebergSource` implementation. Set to false to fall back to the 
deprecated `FlinkSource`.                                                       
                                                   |
+| table.exec.iceberg.use-v2-sink                   | false                     
           | Use the SinkV2 based `IcebergSink` implementation, see [Sink V2 
based implementation](flink-writes.md#sink-v2-based-implementation).            
                                                                          |

Review Comment:
   +1 for changing the default soon. We've been considering changing the 
default here, but the issue is that savepoints will become incompatible. That 
said, we've done this before with the source.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to