Re: [PR] support python 3.12 [iceberg-python]

2024-01-13 Thread via GitHub


cclauss commented on code in PR #254:
URL: https://github.com/apache/iceberg-python/pull/254#discussion_r1451394047


##
pyproject.toml:
##
@@ -29,7 +29,8 @@ classifiers = [
   "Programming Language :: Python :: 3.8",
   "Programming Language :: Python :: 3.9",
   "Programming Language :: Python :: 3.10",
-  "Programming Language :: Python :: 3.11"
+  "Programming Language :: Python :: 3.11",
+  "Programming Language :: Python :: 3.12"

Review Comment:
   ```suggestion
 "Programming Language :: Python :: 3.12",
   ```
   We can add the trailing comma (this is toml, not json) to simplify the diff 
when we add Python 3.13.



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] support python 3.12 [iceberg-python]

2024-01-13 Thread via GitHub


cclauss commented on code in PR #254:
URL: https://github.com/apache/iceberg-python/pull/254#discussion_r1451394303


##
pyproject.toml:
##
@@ -70,6 +71,9 @@ adlfs = { version = ">=2023.1.0,<2024.1.0", optional = true }
 gcsfs = { version = ">=2023.1.0,<2024.1.0", optional = true }
 psycopg2-binary = { version = ">=2.9.6", optional = true }
 sqlalchemy = { version = "^2.0.18", optional = true }
+numpy = { version = "^1.26.3", python = "3.12" }
+greenlet = {version = "^3.0.3", python = "3.12" }

Review Comment:
   Would this be better?
   ```suggestion
   numpy = { version = "^1.26.3", python >= "3.12" }
   greenlet = {version = "^3.0.3", python >= "3.12" }
   ```



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] support python 3.12 [iceberg-python]

2024-01-13 Thread via GitHub


cclauss commented on PR #254:
URL: https://github.com/apache/iceberg-python/pull/254#issuecomment-1890383240

   Similar to #35
   
   @Fokko Can you please approve the workflow run so we can see the results of 
the tests?


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Flink: Don't fail to serialize IcebergSourceSplit when there is too many delete files [iceberg]

2024-01-13 Thread via GitHub


javrasya commented on PR #9464:
URL: https://github.com/apache/iceberg/pull/9464#issuecomment-1890390386

   Good catches @pvary , thank you. What if we get full inspiration from 
writeUTF and have our own writer but supports longer JSON. Btw, the reason why 
it limits the size to be 65K max because the first 2 bytes of the serialized 
value holds the length of the UTF and that is unsigned short which can be max 
65K. I have introduced my own writeUTF and called it writeLongUTF/readLongUTF. 
It writes the first bytes which holds the length as int which is 4 bytes 
instead of unsigned short. 
   
   Do mind taking a look at [those changes 
here](https://github.com/apache/iceberg/compare/main...javrasya:iceberg:issue-9410-implement-custom-utf-serde)
 and let me know what you think? I didn't want to update this PR directly 
without talking to you about it? If you think that is good idea, I can proceed 
and merge it on this branch first and we can continue with the discussions here.
   
   But it is not compatible with V2 since that is using initial 2 bytes to 
indicate the length. Introducing v3 is good idea as you suggested. But not 
really sure how we would be able to distinguish a serialized split with V2 
earlier from V3 though 🤔 Do you know how this was done from v1 to v2? Can you 
help me there?


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



[I] access failed from host to iceberg container [iceberg]

2024-01-13 Thread via GitHub


vagetablechicken opened a new issue, #9465:
URL: https://github.com/apache/iceberg/issues/9465

   hi, I'm doing some tests, based on spark quickstart 
. I start up it, and try to 
connect iceberg from outside(host->iceberg_in_containers). And it works when i 
use pyiceberg in host, I can read & write. But it'll be failed when i use 
spark-sql in host(3.5.0, the same version with spark-iceberg image). The steps 
in host are in snippet. Any help/suggestion would be appreciated.
   
   [Slack 
Message](https://apache-iceberg.slack.com/archives/C025PH0G1D4/p1704874503158399?thread_ts=1704874503.158399&cid=C025PH0G1D4)
   
   - Start quickstart docker compose, create table and insert
   - Steps on host:
   1. export envs
   ```
   export AWS_ACCESS_KEY_ID=admin
   export AWS_SECRET_ACCESS_KEY=password
   export AWS_REGION=us-east-1
   ```
   2. spark config(rest&s3 bind localhost ports)
   ```
   spark.sql.extensions   
org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions
   spark.sql.catalog.demo org.apache.iceberg.spark.SparkCatalog
   spark.sql.catalog.demo.typerest
   spark.sql.catalog.demo.uri http://localhost:8181
   spark.sql.catalog.demo.s3.endpoint http://localhost:9000
   spark.sql.defaultCatalog   demo
   ```
   3. run sql
   ```
echo "SELECT * FROM demo.nyc.taxis;" | bin/spark-sql
   null (Service: S3, Status Code: 404, Request ID: 17A94BFECBFF61D2, Extended 
Request ID: dd9025bab4ad464b049177c95eb6ebf374d3b3fd1af9251148b658df7ac2e3e8) 
(Service: S3, Status Code: 404, Request ID: 17A94BFECBFF61D2)
   software.amazon.awssdk.services.s3.model.NoSuchKeyException: null (Service: 
S3, Status Code: 404, Request ID: 17A94BFECBFF61D2, Extended Request ID: 
dd9025bab4ad464b049177c95eb6ebf374d3b3fd1af9251148b658df7ac2e3e8) (Service: S3, 
Status Code: 404, Request ID: 17A94BFECBFF61D2)
   at 
software.amazon.awssdk.services.s3.model.NoSuchKeyException$BuilderImpl.build(NoSuchKeyException.java:126)
   ```


-- 
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: issues-unsubscr...@iceberg.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Spec: add multi-arg transform support [iceberg]

2024-01-13 Thread via GitHub


advancedxy commented on code in PR #8579:
URL: https://github.com/apache/iceberg/pull/8579#discussion_r1451447151


##
format/spec.md:
##
@@ -1060,6 +1076,14 @@ The types below are not currently valid for bucketing, 
and so are not hashed. Ho
 | **`float`**| `hashLong(doubleToLongBits(double(v))` [4]| `1.0F` ï¿« 
`-142385009`, `0.0F` ï¿« `1669671676`, `-0.0F` ï¿« `1669671676` |
 | **`double`**   | `hashLong(doubleToLongBits(v))`[4]| `1.0D` ï¿« 
`-142385009`, `0.0D` ï¿« `1669671676`, `-0.0D` ï¿« `1669671676` |
 
+For multi-arg hash function, the hash value is the result of `hashBytes` on 
the concatenation of the bytes of the arguments. NULL input is ignored.
+
+| Struct examples| Hash Specification  
  | Test value  
   |
+||---||

Review Comment:
   good point, will fix it.



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Spec: add multi-arg transform support [iceberg]

2024-01-13 Thread via GitHub


advancedxy commented on code in PR #8579:
URL: https://github.com/apache/iceberg/pull/8579#discussion_r1451452956


##
format/spec.md:
##
@@ -329,19 +329,35 @@ The `void` transform may be used to replace the transform 
in an existing partiti
 
  Bucket Transform Details
 
-Bucket partition transforms use a 32-bit hash of the source value. The 32-bit 
hash implementation is the 32-bit Murmur3 hash, x86 variant, seeded with 0.
+Bucket partition transforms use a 32-bit hash of the source value(s). The 
32-bit hash implementation is the 32-bit Murmur3 hash, x86 variant, seeded with 
0.
 
 Transforms are parameterized by a number of buckets [1], `N`. The hash mod `N` 
must produce a positive value by first discarding the sign bit of the hash 
value. In pseudo-code, the function is:
 
 ```
   def bucket_N(x) = (murmur3_x86_32_hash(x) & Integer.MAX_VALUE) % N
 ```
 
+When bucket transform is applied on a list of values, the input is treated as 
concatenated bytes of each value. In pseudo-code, the function is:

Review Comment:
   Great, updated



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [I] Discussion: Rethink `PrimitiveLiteral`. [iceberg-rust]

2024-01-13 Thread via GitHub


liurenjie1024 commented on issue #159:
URL: https://github.com/apache/iceberg-rust/issues/159#issuecomment-1890430482

   > I don't think the BoundExpression is something that a user would ever use 
as it is internal.
   > 
   > let literal = BoundLiteral::builder.with_literal(...).build();
   > TableScan scan = scan.filter(Expressions.equal("id", literal));
   
   I think we share same concern and idea about the api design, but I failed to 
clarify the problem🤪.
   
   I'll submit a pr and let's discuss it in pr, which helps to clarify the 
problem.


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Core: Create JUnit5 version of TableTestBase [iceberg]

2024-01-13 Thread via GitHub


nastra commented on code in PR #9217:
URL: https://github.com/apache/iceberg/pull/9217#discussion_r1451526875


##
core/src/test/java/org/apache/iceberg/TestManifestReader.java:
##
@@ -32,17 +32,15 @@
 import org.apache.iceberg.types.Types;
 import org.assertj.core.api.Assertions;
 import 
org.assertj.core.api.recursive.comparison.RecursiveComparisonConfiguration;
-import org.junit.Assert;
-import org.junit.Assume;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-
-@RunWith(Parameterized.class)
-public class TestManifestReader extends TableTestBase {
-  @Parameterized.Parameters(name = "formatVersion = {0}")
-  public static Object[] parameters() {
-return new Object[] {1, 2};
+import org.junit.jupiter.api.Assumptions;
+import org.junit.jupiter.api.TestTemplate;
+import org.junit.jupiter.api.extension.ExtendWith;
+
+@ExtendWith(ParameterizedTestExtension.class)

Review Comment:
   @lisirrx yes this PR can be closed and we can just open multiple PRs 
referencing #9085 (without having to create subtasks)



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Flink: Migrate subclasses of FlinkCatalogTestBase to JUnit5 [iceberg]

2024-01-13 Thread via GitHub


nastra merged PR #9381:
URL: https://github.com/apache/iceberg/pull/9381


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Spark 3.5: Migrate remaining tests in source directory to JUnit5 [iceberg]

2024-01-13 Thread via GitHub


nastra merged PR #9380:
URL: https://github.com/apache/iceberg/pull/9380


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Core: Create JUnit5 version of TableTestBase [iceberg]

2024-01-13 Thread via GitHub


lisirrx closed pull request #9217: Core: Create JUnit5 version of TableTestBase
URL: https://github.com/apache/iceberg/pull/9217


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Core: Create JUnit5 version of TableTestBase [iceberg]

2024-01-13 Thread via GitHub


lisirrx commented on code in PR #9217:
URL: https://github.com/apache/iceberg/pull/9217#discussion_r1451531023


##
core/src/test/java/org/apache/iceberg/TestManifestReader.java:
##
@@ -32,17 +32,15 @@
 import org.apache.iceberg.types.Types;
 import org.assertj.core.api.Assertions;
 import 
org.assertj.core.api.recursive.comparison.RecursiveComparisonConfiguration;
-import org.junit.Assert;
-import org.junit.Assume;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-
-@RunWith(Parameterized.class)
-public class TestManifestReader extends TableTestBase {
-  @Parameterized.Parameters(name = "formatVersion = {0}")
-  public static Object[] parameters() {
-return new Object[] {1, 2};
+import org.junit.jupiter.api.Assumptions;
+import org.junit.jupiter.api.TestTemplate;
+import org.junit.jupiter.api.extension.ExtendWith;
+
+@ExtendWith(ParameterizedTestExtension.class)

Review Comment:
   ok, I'll close this one.



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [I] Facing warning when starting spark-sql in EMR using Glue Catalog [iceberg]

2024-01-13 Thread via GitHub


nastra commented on issue #8544:
URL: https://github.com/apache/iceberg/issues/8544#issuecomment-1890470170

   @imonteroq I would suggest to talk to the EMR team as that is a 
vendor-specific issue


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Flink: Added error handling and default logic for Flink version detection [iceberg]

2024-01-13 Thread via GitHub


nastra commented on code in PR #9452:
URL: https://github.com/apache/iceberg/pull/9452#discussion_r1451531936


##
flink/v1.16/flink/src/main/java/org/apache/iceberg/flink/util/FlinkPackage.java:
##
@@ -19,15 +19,31 @@
 package org.apache.iceberg.flink.util;
 
 import org.apache.flink.streaming.api.datastream.DataStream;
+import 
org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting;
 
 public class FlinkPackage {
-  /** Choose {@link DataStream} class because it is one of the core Flink API. 
*/
-  private static final String VERSION = 
DataStream.class.getPackage().getImplementationVersion();
+
+  public static final String FLINK_UNKNOWN_VERSION = "Flink-UNKNOWN";
 
   private FlinkPackage() {}
 
   /** Returns Flink version string like x.y.z */
   public static String version() {
-return VERSION;
+try {
+  String version = getVersionFromJar();
+  /* If we can't detect the exact implementation version from the jar 
(this can happen if the DataStream class

Review Comment:
   can we please use // instead of /* */ for inline comments?



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Flink: Added error handling and default logic for Flink version detection [iceberg]

2024-01-13 Thread via GitHub


nastra commented on code in PR #9452:
URL: https://github.com/apache/iceberg/pull/9452#discussion_r1451533014


##
flink/v1.16/flink/src/main/java/org/apache/iceberg/flink/util/FlinkPackage.java:
##
@@ -19,15 +19,31 @@
 package org.apache.iceberg.flink.util;
 
 import org.apache.flink.streaming.api.datastream.DataStream;
+import 
org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting;
 
 public class FlinkPackage {
-  /** Choose {@link DataStream} class because it is one of the core Flink API. 
*/
-  private static final String VERSION = 
DataStream.class.getPackage().getImplementationVersion();
+
+  public static final String FLINK_UNKNOWN_VERSION = "Flink-UNKNOWN";
 
   private FlinkPackage() {}
 
   /** Returns Flink version string like x.y.z */
   public static String version() {
-return VERSION;
+try {
+  String version = getVersionFromJar();
+  /* If we can't detect the exact implementation version from the jar 
(this can happen if the DataStream class
+   appears multiple times in the same classpath such as with shading), 
then the best we can do is say it's
+   unknown
+  */
+  return version != null ? version : FLINK_UNKNOWN_VERSION;

Review Comment:
   I think we should store the result in a variable rather than re-fetching the 
version on every call



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Add `iceberg-bom` artifact [iceberg]

2024-01-13 Thread via GitHub


nastra commented on PR #8065:
URL: https://github.com/apache/iceberg/pull/8065#issuecomment-1890477020

   I agree that we should get this into 1.5.0. @snazy could you rebase this 
please?


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Spark 3.5: Migrate DeleteReadTests and its subclasses to JUnit5 [iceberg]

2024-01-13 Thread via GitHub


nastra commented on code in PR #9382:
URL: https://github.com/apache/iceberg/pull/9382#discussion_r1451545549


##
mr/src/test/java/org/apache/iceberg/mr/TestInputFormatReaderDeletes.java:
##
@@ -62,24 +67,20 @@ public static Object[][] parameters() {
 };
   }
 
-  @Before
+  @BeforeEach
   @Override
   public void writeTestDataFile() throws IOException {
 conf.set(CatalogUtil.ICEBERG_CATALOG_TYPE, Catalogs.LOCATION);
 super.writeTestDataFile();
   }
 
-  public TestInputFormatReaderDeletes(String inputFormat, FileFormat 
fileFormat) {
-this.inputFormat = inputFormat;
-this.fileFormat = fileFormat;
-  }
-
   @Override
   protected Table createTable(String name, Schema schema, PartitionSpec spec) 
throws IOException {
 Table table;
 
-File location = temp.newFolder(inputFormat, fileFormat.name());
-Assert.assertTrue(location.delete());
+File location = 
temp.resolve(inputFormat).resolve(fileFormat.name()).toFile();
+location.mkdirs();

Review Comment:
   is this needed? other places in the codebase don't require this



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Spark 3.5: Migrate DeleteReadTests and its subclasses to JUnit5 [iceberg]

2024-01-13 Thread via GitHub


nastra commented on code in PR #9382:
URL: https://github.com/apache/iceberg/pull/9382#discussion_r1451546217


##
mr/src/test/java/org/apache/iceberg/mr/TestHelper.java:
##
@@ -122,7 +144,7 @@ public DataFile writeFile(StructLike partition, 
List records) throws IOE
   }
 
   private GenericAppenderHelper appender() {
-return new GenericAppenderHelper(table, fileFormat, tmp, conf);
+return new GenericAppenderHelper(table, fileFormat, temp, conf);

Review Comment:
   because this needs to work for both Junit4+5 code



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Spark 3.5: Migrate DeleteReadTests and its subclasses to JUnit5 [iceberg]

2024-01-13 Thread via GitHub


nastra commented on code in PR #9382:
URL: https://github.com/apache/iceberg/pull/9382#discussion_r1451546107


##
mr/src/test/java/org/apache/iceberg/mr/TestHelper.java:
##
@@ -122,7 +144,7 @@ public DataFile writeFile(StructLike partition, 
List records) throws IOE
   }
 
   private GenericAppenderHelper appender() {
-return new GenericAppenderHelper(table, fileFormat, tmp, conf);
+return new GenericAppenderHelper(table, fileFormat, temp, conf);

Review Comment:
   ```suggestion
   return new GenericAppenderHelper(table, fileFormat, null != tmp ? tmp : 
temp, conf);
   ```



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Spark 3.5: Migrate DeleteReadTests and its subclasses to JUnit5 [iceberg]

2024-01-13 Thread via GitHub


nastra commented on code in PR #9382:
URL: https://github.com/apache/iceberg/pull/9382#discussion_r1451547470


##
flink/v1.18/flink/src/test/java/org/apache/iceberg/flink/source/TestIcebergSourceReaderDeletes.java:
##
@@ -44,27 +43,18 @@
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.apache.iceberg.util.StructLikeSet;
-import org.junit.ClassRule;
-import org.junit.rules.TemporaryFolder;
 
 public class TestIcebergSourceReaderDeletes extends TestFlinkReaderDeletesBase 
{
 
   private static final int PARALLELISM = 4;
 
-  @ClassRule public static final TemporaryFolder TMP_FOLDER = new 
TemporaryFolder();
-
-  @ClassRule
   public static final MiniClusterWithClientResource MINI_CLUSTER =

Review Comment:
   this should be
   ```
   @RegisterExtension
 public static MiniClusterExtension miniClusterResource =
 MiniFlinkClusterExtension.createWithClassloaderCheckDisabled();
   ```



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Spark 3.5: Migrate DeleteReadTests and its subclasses to JUnit5 [iceberg]

2024-01-13 Thread via GitHub


nastra commented on code in PR #9382:
URL: https://github.com/apache/iceberg/pull/9382#discussion_r1451548608


##
data/src/test/java/org/apache/iceberg/data/TestGenericReaderDeletes.java:
##
@@ -18,23 +18,25 @@
  */
 package org.apache.iceberg.data;
 
+import static org.assertj.core.api.Assertions.assertThat;
+
 import java.io.File;
 import java.io.IOException;
+import java.nio.file.Files;
 import org.apache.iceberg.PartitionSpec;
 import org.apache.iceberg.Schema;
 import org.apache.iceberg.Table;
 import org.apache.iceberg.TestTables;
 import org.apache.iceberg.io.CloseableIterable;
 import org.apache.iceberg.relocated.com.google.common.collect.Iterables;
 import org.apache.iceberg.util.StructLikeSet;
-import org.junit.Assert;
 
 public class TestGenericReaderDeletes extends DeleteReadTests {

Review Comment:
   I believe this should be parameterized now (since the base class requires 
parameterization due to usage of `@TestTemplate`)



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Spark 3.5: Migrate DeleteReadTests and its subclasses to JUnit5 [iceberg]

2024-01-13 Thread via GitHub


nastra commented on code in PR #9382:
URL: https://github.com/apache/iceberg/pull/9382#discussion_r1451549557


##
data/src/test/java/org/apache/iceberg/data/TestGenericReaderDeletes.java:
##
@@ -18,23 +18,25 @@
  */
 package org.apache.iceberg.data;
 
+import static org.assertj.core.api.Assertions.assertThat;
+
 import java.io.File;
 import java.io.IOException;
+import java.nio.file.Files;
 import org.apache.iceberg.PartitionSpec;
 import org.apache.iceberg.Schema;
 import org.apache.iceberg.Table;
 import org.apache.iceberg.TestTables;
 import org.apache.iceberg.io.CloseableIterable;
 import org.apache.iceberg.relocated.com.google.common.collect.Iterables;
 import org.apache.iceberg.util.StructLikeSet;
-import org.junit.Assert;
 
 public class TestGenericReaderDeletes extends DeleteReadTests {

Review Comment:
   maybe we should move the `parameters()` definition from 
`TestFlinkReaderDeletesBase` into `DeleteReadTests`



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Spark 3.5: Migrate DeleteReadTests and its subclasses to JUnit5 [iceberg]

2024-01-13 Thread via GitHub


chinmay-bhat commented on code in PR #9382:
URL: https://github.com/apache/iceberg/pull/9382#discussion_r1451568424


##
mr/src/test/java/org/apache/iceberg/mr/TestInputFormatReaderDeletes.java:
##
@@ -62,24 +67,20 @@ public static Object[][] parameters() {
 };
   }
 
-  @Before
+  @BeforeEach
   @Override
   public void writeTestDataFile() throws IOException {
 conf.set(CatalogUtil.ICEBERG_CATALOG_TYPE, Catalogs.LOCATION);
 super.writeTestDataFile();
   }
 
-  public TestInputFormatReaderDeletes(String inputFormat, FileFormat 
fileFormat) {
-this.inputFormat = inputFormat;
-this.fileFormat = fileFormat;
-  }
-
   @Override
   protected Table createTable(String name, Schema schema, PartitionSpec spec) 
throws IOException {
 Table table;
 
-File location = temp.newFolder(inputFormat, fileFormat.name());
-Assert.assertTrue(location.delete());
+File location = 
temp.resolve(inputFormat).resolve(fileFormat.name()).toFile();
+location.mkdirs();

Review Comment:
   In other places, when we have a single temp file, we don't need it. 
   But wherever we have nested directories, we do use it.
   For example, in `TestPartitionValues`:
   
   ```
   String desc = "null_part";
   File parent = new File(temp.toFile(), desc);
   File location = new File(parent, "test");
   File dataFolder = new File(location, "data");
   assertThat(dataFolder.mkdirs()).as("mkdirs should succeed").isTrue();
   
   ```



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Spark 3.5: Migrate DeleteReadTests and its subclasses to JUnit5 [iceberg]

2024-01-13 Thread via GitHub


chinmay-bhat commented on code in PR #9382:
URL: https://github.com/apache/iceberg/pull/9382#discussion_r1451568818


##
mr/src/test/java/org/apache/iceberg/mr/TestHelper.java:
##
@@ -122,7 +144,7 @@ public DataFile writeFile(StructLike partition, 
List records) throws IOE
   }
 
   private GenericAppenderHelper appender() {
-return new GenericAppenderHelper(table, fileFormat, tmp, conf);
+return new GenericAppenderHelper(table, fileFormat, temp, conf);

Review Comment:
   oh this is clever, I should have thought of it. 
   will update!



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Spark 3.5: Migrate DeleteReadTests and its subclasses to JUnit5 [iceberg]

2024-01-13 Thread via GitHub


chinmay-bhat commented on code in PR #9382:
URL: https://github.com/apache/iceberg/pull/9382#discussion_r1451568721


##
mr/src/test/java/org/apache/iceberg/mr/TestInputFormatReaderDeletes.java:
##
@@ -62,24 +67,20 @@ public static Object[][] parameters() {
 };
   }
 
-  @Before
+  @BeforeEach
   @Override
   public void writeTestDataFile() throws IOException {
 conf.set(CatalogUtil.ICEBERG_CATALOG_TYPE, Catalogs.LOCATION);
 super.writeTestDataFile();
   }
 
-  public TestInputFormatReaderDeletes(String inputFormat, FileFormat 
fileFormat) {
-this.inputFormat = inputFormat;
-this.fileFormat = fileFormat;
-  }
-
   @Override
   protected Table createTable(String name, Schema schema, PartitionSpec spec) 
throws IOException {
 Table table;
 
-File location = temp.newFolder(inputFormat, fileFormat.name());
-Assert.assertTrue(location.delete());
+File location = 
temp.resolve(inputFormat).resolve(fileFormat.name()).toFile();
+location.mkdirs();

Review Comment:
   I can instead update the assert to `assertThat(location.mkdirs()).isTrue()`



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Spark 3.5: Migrate DeleteReadTests and its subclasses to JUnit5 [iceberg]

2024-01-13 Thread via GitHub


chinmay-bhat commented on code in PR #9382:
URL: https://github.com/apache/iceberg/pull/9382#discussion_r1451568840


##
flink/v1.18/flink/src/test/java/org/apache/iceberg/flink/source/TestIcebergSourceReaderDeletes.java:
##
@@ -44,27 +43,18 @@
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.apache.iceberg.util.StructLikeSet;
-import org.junit.ClassRule;
-import org.junit.rules.TemporaryFolder;
 
 public class TestIcebergSourceReaderDeletes extends TestFlinkReaderDeletesBase 
{
 
   private static final int PARALLELISM = 4;
 
-  @ClassRule public static final TemporaryFolder TMP_FOLDER = new 
TemporaryFolder();
-
-  @ClassRule
   public static final MiniClusterWithClientResource MINI_CLUSTER =

Review Comment:
   missed this, thanks for catching



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Spark 3.5: Migrate DeleteReadTests and its subclasses to JUnit5 [iceberg]

2024-01-13 Thread via GitHub


chinmay-bhat commented on code in PR #9382:
URL: https://github.com/apache/iceberg/pull/9382#discussion_r1451568936


##
data/src/test/java/org/apache/iceberg/data/TestGenericReaderDeletes.java:
##
@@ -18,23 +18,25 @@
  */
 package org.apache.iceberg.data;
 
+import static org.assertj.core.api.Assertions.assertThat;
+
 import java.io.File;
 import java.io.IOException;
+import java.nio.file.Files;
 import org.apache.iceberg.PartitionSpec;
 import org.apache.iceberg.Schema;
 import org.apache.iceberg.Table;
 import org.apache.iceberg.TestTables;
 import org.apache.iceberg.io.CloseableIterable;
 import org.apache.iceberg.relocated.com.google.common.collect.Iterables;
 import org.apache.iceberg.util.StructLikeSet;
-import org.junit.Assert;
 
 public class TestGenericReaderDeletes extends DeleteReadTests {

Review Comment:
   Yeah i'll move the `parameters()` and parameterize the file



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Spark 3.5: Migrate DeleteReadTests and its subclasses to JUnit5 [iceberg]

2024-01-13 Thread via GitHub


chinmay-bhat commented on code in PR #9382:
URL: https://github.com/apache/iceberg/pull/9382#discussion_r1451570358


##
mr/src/test/java/org/apache/iceberg/mr/TestHelper.java:
##
@@ -122,7 +144,7 @@ public DataFile writeFile(StructLike partition, 
List records) throws IOE
   }
 
   private GenericAppenderHelper appender() {
-return new GenericAppenderHelper(table, fileFormat, tmp, conf);
+return new GenericAppenderHelper(table, fileFormat, temp, conf);

Review Comment:
   unfortunately this throws errors like `Cannot resolve constructor 
'GenericAppenderHelper(Table, FileFormat, Object, Configuration)`.
   I'll just simplify it into an if statement.



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Spark 3.5: Migrate tests that depend on SparkDistributedDataScanTestBase to JUnit5 [iceberg]

2024-01-13 Thread via GitHub


chinmay-bhat commented on code in PR #9416:
URL: https://github.com/apache/iceberg/pull/9416#discussion_r1451573049


##
spark/v3.5/spark/src/test/java/org/apache/iceberg/SparkDistributedDataScanTestBase.java:
##
@@ -21,46 +21,41 @@
 import static org.apache.iceberg.PlanningMode.DISTRIBUTED;
 import static org.apache.iceberg.PlanningMode.LOCAL;
 
+import java.util.Arrays;
+import java.util.List;
 import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
 import org.apache.iceberg.spark.SparkReadConf;
 import org.apache.spark.sql.SparkSession;
 import org.apache.spark.sql.internal.SQLConf;
-import org.junit.Before;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.extension.ExtendWith;
 
-@RunWith(Parameterized.class)
+@ExtendWith(ParameterizedTestExtension.class)
 public abstract class SparkDistributedDataScanTestBase
 extends DataTableScanTestBase> {
 
   @Parameters(name = "formatVersion = {0}, dataMode = {1}, deleteMode = {2}")
-  public static Object[] parameters() {
-return new Object[][] {
-  new Object[] {1, LOCAL, LOCAL},
-  new Object[] {1, LOCAL, DISTRIBUTED},
-  new Object[] {1, DISTRIBUTED, LOCAL},
-  new Object[] {1, DISTRIBUTED, DISTRIBUTED},
-  new Object[] {2, LOCAL, LOCAL},
-  new Object[] {2, LOCAL, DISTRIBUTED},
-  new Object[] {2, DISTRIBUTED, LOCAL},
-  new Object[] {2, DISTRIBUTED, DISTRIBUTED}
-};
+  public static List parameters() {

Review Comment:
   https://github.com/apache/iceberg/pull/9416#discussion_r1448313906



##
spark/v3.5/spark/src/test/java/org/apache/iceberg/TestSparkDistributedDataScanDeletes.java:
##
@@ -21,42 +21,39 @@
 import static org.apache.iceberg.PlanningMode.DISTRIBUTED;
 import static org.apache.iceberg.PlanningMode.LOCAL;
 
+import java.util.Arrays;
+import java.util.List;
 import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
 import org.apache.iceberg.spark.SparkReadConf;
 import org.apache.spark.sql.SparkSession;
 import org.apache.spark.sql.internal.SQLConf;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.extension.ExtendWith;
 
-@RunWith(Parameterized.class)
+@ExtendWith(ParameterizedTestExtension.class)
 public class TestSparkDistributedDataScanDeletes
 extends DeleteFileIndexTestBase> {
 
-  @Parameterized.Parameters(name = "dataMode = {0}, deleteMode = {1}")
-  public static Object[] parameters() {
-return new Object[][] {
-  new Object[] {LOCAL, LOCAL},
-  new Object[] {LOCAL, DISTRIBUTED},
-  new Object[] {DISTRIBUTED, LOCAL},
-  new Object[] {DISTRIBUTED, DISTRIBUTED}
-};
+  @Parameters(name = "formatVersion = {0}, dataMode = {1}, deleteMode = {2}")
+  public static List parameters() {

Review Comment:
   https://github.com/apache/iceberg/pull/9416#discussion_r1448313906



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Spark 3.5: Migrate tests that depend on SparkDistributedDataScanTestBase to JUnit5 [iceberg]

2024-01-13 Thread via GitHub


chinmay-bhat commented on code in PR #9416:
URL: https://github.com/apache/iceberg/pull/9416#discussion_r1451573134


##
spark/v3.5/spark/src/test/java/org/apache/iceberg/TestSparkDistributedDataScanReporting.java:
##
@@ -21,41 +21,38 @@
 import static org.apache.iceberg.PlanningMode.DISTRIBUTED;
 import static org.apache.iceberg.PlanningMode.LOCAL;
 
+import java.util.Arrays;
+import java.util.List;
 import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
 import org.apache.iceberg.spark.SparkReadConf;
 import org.apache.spark.sql.SparkSession;
 import org.apache.spark.sql.internal.SQLConf;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.extension.ExtendWith;
 
-@RunWith(Parameterized.class)
+@ExtendWith(ParameterizedTestExtension.class)
 public class TestSparkDistributedDataScanReporting
 extends ScanPlanningAndReportingTestBase> {
 
-  @Parameterized.Parameters(name = "dataMode = {0}, deleteMode = {1}")
-  public static Object[] parameters() {
-return new Object[][] {
-  new Object[] {LOCAL, LOCAL},
-  new Object[] {LOCAL, DISTRIBUTED},
-  new Object[] {DISTRIBUTED, LOCAL},
-  new Object[] {DISTRIBUTED, DISTRIBUTED}
-};
+  @Parameters(name = "formatVersion = {0}, dataMode = {1}, deleteMode = {2}")
+  public static List parameters() {

Review Comment:
   https://github.com/apache/iceberg/pull/9416#discussion_r1448313906



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [I] Failed to assign splits due to the serialized split size [iceberg]

2024-01-13 Thread via GitHub


javrasya commented on issue #9410:
URL: https://github.com/apache/iceberg/issues/9410#issuecomment-1890599978

   Tried 
`[rewrite_data_files](https://iceberg.apache.org/docs/1.4.0/spark-procedures/#rewrite_data_files)`
 via Spark, not really sure if it would do the same with 
`RewriteDataFilesAction` on Flink, but still the same. I guess I will end up 
dumping the iceberg table as CSV or something on Athena every day maybe, and 
scan that one with Flink instead until the issue is resolved :-( Any other 
suggestion if you can come up with, is appreciated. 


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Add `iceberg-bom` artifact [iceberg]

2024-01-13 Thread via GitHub


danielcweeks commented on PR #8065:
URL: https://github.com/apache/iceberg/pull/8065#issuecomment-1890769619

   I just ran the target to build the pom and still see spark and flink 
included, which I believe should be excluded.  I saw comments about adding 
Scala versions but I don't think that should be included (likely only necessary 
if you include flink and spark).
   
   I feel like if someone adds the bom to manage dependencies in their job 
jars, it shouldn't override whatever their runtime engine/lang version is that 
they're building against.


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Add SqlCatalog _commit_table support [iceberg-python]

2024-01-13 Thread via GitHub


HonahX commented on code in PR #265:
URL: https://github.com/apache/iceberg-python/pull/265#discussion_r1451397678


##
tests/catalog/test_sql.py:
##
@@ -87,6 +88,20 @@ def catalog_sqlite(warehouse: Path) -> Generator[SqlCatalog, 
None, None]:
 catalog.destroy_tables()
 
 
+@pytest.fixture(scope="module")
+def catalog_sqlite_without_rowcount(warehouse: Path) -> Generator[SqlCatalog, 
None, None]:
+props = {
+"uri": "sqlite:tmp/sql-catalog.db",
+"warehouse": f"file://{warehouse}",
+}
+catalog = SqlCatalog("test_sql_catalog", **props)
+catalog.engine.dialect.supports_sane_rowcount = False
+print(f"DEBUG: {catalog.engine.dialect.supports_sane_rowcount=}")

Review Comment:
   I think this print can be removed



##
pyiceberg/catalog/sql.py:
##
@@ -268,16 +269,32 @@ def drop_table(self, identifier: Union[str, Identifier]) 
-> None:
 identifier_tuple = self.identifier_to_tuple_without_catalog(identifier)
 database_name, table_name = 
self.identifier_to_database_and_table(identifier_tuple, NoSuchTableError)
 with Session(self.engine) as session:
-res = session.execute(
-delete(IcebergTables).where(
-IcebergTables.catalog_name == self.name,
-IcebergTables.table_namespace == database_name,
-IcebergTables.table_name == table_name,
+if self.engine.dialect.supports_sane_rowcount:
+res = session.execute(
+delete(IcebergTables).where(
+IcebergTables.catalog_name == self.name,
+IcebergTables.table_namespace == database_name,
+IcebergTables.table_name == table_name,
+)
 )
-)
+if res.rowcount < 1:
+raise NoSuchTableError(f"Table does not exist: 
{database_name}.{table_name}")
+else:
+try:
+tbl = (
+session.query(IcebergTables)
+.with_for_update(of=IcebergTables, nowait=True)

Review Comment:
   Quick question: Why do we use `nowait` here? It looks like we're not 
catching errors from concurrent `SELECT FOR UPDATE NOWAIT` attempts. 
   
   I think `skip_locked=True` may be better here, as it lets the existing 
`NoResultFound` catch handle the case when the row is locked by another 
session. What do you think?



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Flink: Don't fail to serialize IcebergSourceSplit when there is too many delete files [iceberg]

2024-01-13 Thread via GitHub


javrasya commented on PR #9464:
URL: https://github.com/apache/iceberg/pull/9464#issuecomment-1890799411

   Another idea is to still use original `writeUTF` since that is covering the 
most, but write it as chunks. The biggest character can be 3 bytes according to 
the `writeUTF` function. If we go for the worst case, we can create multiple 
chunks out of the json value worth of **65kb / 3** and write that each bit 
which is guaranteed to fit in a UTF. That would entail zero copy pasting from 
the Flink source code. 
   
   
https://github.com/apache/iceberg/compare/main...javrasya:iceberg:issue-9410-introduce-v3-serde-write-utf-as-chunks?expand=1


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [I] Merge-on-read vs copy-on-write behavior during merge into [iceberg]

2024-01-13 Thread via GitHub


github-actions[bot] closed issue #6928: Merge-on-read vs copy-on-write behavior 
during merge into
URL: https://github.com/apache/iceberg/issues/6928


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [I] Mysql CDC -- Flink -- Iceberg(Minio) Data is not reaching to Minio bucket location [iceberg]

2024-01-13 Thread via GitHub


github-actions[bot] commented on issue #6734:
URL: https://github.com/apache/iceberg/issues/6734#issuecomment-1890802430

   This issue has been automatically marked as stale because it has been open 
for 180 days with no activity. It will be closed in next 14 days if no further 
activity occurs. To permanently prevent this issue from being considered stale, 
add the label 'not-stale', but commenting on the issue is preferred when 
possible.


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [I] Dynamic partition pruning filters should be applied before invoking Table::planTasks in IcebergInputFormat [iceberg]

2024-01-13 Thread via GitHub


github-actions[bot] commented on issue #6726:
URL: https://github.com/apache/iceberg/issues/6726#issuecomment-1890802436

   This issue has been closed because it has not received any activity in the 
last 14 days since being marked as 'stale'


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [I] Dynamic partition pruning filters should be applied before invoking Table::planTasks in IcebergInputFormat [iceberg]

2024-01-13 Thread via GitHub


github-actions[bot] closed issue #6726: Dynamic partition pruning filters 
should be applied before invoking Table::planTasks in IcebergInputFormat
URL: https://github.com/apache/iceberg/issues/6726


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Apply Name mapping [iceberg-python]

2024-01-13 Thread via GitHub


HonahX commented on code in PR #219:
URL: https://github.com/apache/iceberg-python/pull/219#discussion_r1451632412


##
pyiceberg/io/pyarrow.py:
##
@@ -698,77 +708,143 @@ def before_field(self, field: pa.Field) -> None:
 def after_field(self, field: pa.Field) -> None:
 """Override this method to perform an action immediately after 
visiting a field."""
 
+def before_list_element(self, element: pa.Field) -> None:
+"""Override this method to perform an action immediately before 
visiting an element within a ListType."""
+
+def after_list_element(self, element: pa.Field) -> None:
+"""Override this method to perform an action immediately after 
visiting an element within a ListType."""
+
+def before_map_key(self, key: pa.Field) -> None:
+"""Override this method to perform an action immediately before 
visiting a key within a MapType."""
+
+def after_map_key(self, key: pa.Field) -> None:
+"""Override this method to perform an action immediately after 
visiting a key within a MapType."""
+
+def before_map_value(self, value: pa.Field) -> None:
+"""Override this method to perform an action immediately before 
visiting a value within a MapType."""
+
+def after_map_value(self, value: pa.Field) -> None:
+"""Override this method to perform an action immediately after 
visiting a value within a MapType."""
+
 @abstractmethod
-def schema(self, schema: pa.Schema, field_results: List[Optional[T]]) -> 
Optional[T]:
+def schema(self, schema: pa.Schema, struct_result: T) -> T:
 """Visit a schema."""
 
 @abstractmethod
-def struct(self, struct: pa.StructType, field_results: List[Optional[T]]) 
-> Optional[T]:
+def struct(self, struct: pa.StructType, field_results: List[T]) -> T:
 """Visit a struct."""
 
 @abstractmethod
-def list(self, list_type: pa.ListType, element_result: Optional[T]) -> 
Optional[T]:
+def field(self, field: pa.Field, field_result: T) -> T:
+"""Visit a field."""
+
+@abstractmethod
+def list(self, list_type: pa.ListType, element_result: T) -> T:
 """Visit a list."""
 
 @abstractmethod
-def map(self, map_type: pa.MapType, key_result: Optional[T], value_result: 
Optional[T]) -> Optional[T]:
+def map(self, map_type: pa.MapType, key_result: T, value_result: T) -> T:
 """Visit a map."""
 
 @abstractmethod
-def primitive(self, primitive: pa.DataType) -> Optional[T]:
+def primitive(self, primitive: pa.DataType) -> T:
 """Visit a primitive type."""
 
 
 def _get_field_id(field: pa.Field) -> Optional[int]:
-for pyarrow_field_id_key in PYARROW_FIELD_ID_KEYS:
-if field_id_str := field.metadata.get(pyarrow_field_id_key):
-return int(field_id_str.decode())
+if field.metadata:
+for pyarrow_field_id_key in PYARROW_FIELD_ID_KEYS:
+if field_id_str := field.metadata.get(pyarrow_field_id_key):
+return int(field_id_str.decode())
 return None
 
 
 def _get_field_doc(field: pa.Field) -> Optional[str]:
-for pyarrow_doc_key in PYARROW_FIELD_DOC_KEYS:
-if doc_str := field.metadata.get(pyarrow_doc_key):
-return doc_str.decode()
+if field.metadata:
+for pyarrow_doc_key in PYARROW_FIELD_DOC_KEYS:
+if doc_str := field.metadata.get(pyarrow_doc_key):
+return doc_str.decode()
 return None
 
 
-class _ConvertToIceberg(PyArrowSchemaVisitor[Union[IcebergType, Schema]]):
-def _convert_fields(self, arrow_fields: Iterable[pa.Field], field_results: 
List[Optional[IcebergType]]) -> List[NestedField]:
-fields = []
-for i, field in enumerate(arrow_fields):
-field_id = _get_field_id(field)
-field_doc = _get_field_doc(field)
-field_type = field_results[i]
-if field_type is not None and field_id is not None:
-fields.append(NestedField(field_id, field.name, field_type, 
required=not field.nullable, doc=field_doc))
-return fields
-
-def schema(self, schema: pa.Schema, field_results: 
List[Optional[IcebergType]]) -> Schema:
-return Schema(*self._convert_fields(schema, field_results))
-
-def struct(self, struct: pa.StructType, field_results: 
List[Optional[IcebergType]]) -> IcebergType:
-return StructType(*self._convert_fields(struct, field_results))
-
-def list(self, list_type: pa.ListType, element_result: 
Optional[IcebergType]) -> Optional[IcebergType]:
+class _HasIds(PyArrowSchemaVisitor[bool]):
+def schema(self, schema: pa.Schema, struct_result: bool) -> bool:
+return struct_result
+
+def struct(self, struct: pa.StructType, field_results: List[bool]) -> bool:
+return all(field_results)
+
+def field(self, field: pa.Field, field_result: bool) -> bool:
+return all([_get_field_id(field) is not None, field_result])
+
+def list(self, list_type: pa.List

Re: [PR] Add SqlCatalog _commit_table support [iceberg-python]

2024-01-13 Thread via GitHub


syun64 commented on code in PR #265:
URL: https://github.com/apache/iceberg-python/pull/265#discussion_r1451648309


##
tests/catalog/test_sql.py:
##
@@ -87,6 +88,20 @@ def catalog_sqlite(warehouse: Path) -> Generator[SqlCatalog, 
None, None]:
 catalog.destroy_tables()
 
 
+@pytest.fixture(scope="module")
+def catalog_sqlite_without_rowcount(warehouse: Path) -> Generator[SqlCatalog, 
None, None]:
+props = {
+"uri": "sqlite:tmp/sql-catalog.db",
+"warehouse": f"file://{warehouse}",
+}
+catalog = SqlCatalog("test_sql_catalog", **props)
+catalog.engine.dialect.supports_sane_rowcount = False
+print(f"DEBUG: {catalog.engine.dialect.supports_sane_rowcount=}")

Review Comment:
   Thank you for the catch!



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



[PR] Build: Bump nessie from 0.76.0 to 0.76.2 [iceberg]

2024-01-13 Thread via GitHub


dependabot[bot] opened a new pull request, #9467:
URL: https://github.com/apache/iceberg/pull/9467

   Bumps `nessie` from 0.76.0 to 0.76.2.
   Updates `org.projectnessie.nessie:nessie-client` from 0.76.0 to 0.76.2
   
   Updates `org.projectnessie.nessie:nessie-jaxrs-testextension` from 0.76.0 to 
0.76.2
   
   Updates `org.projectnessie.nessie:nessie-versioned-storage-inmemory` from 
0.76.0 to 0.76.2
   
   Updates `org.projectnessie.nessie:nessie-versioned-storage-testextension` 
from 0.76.0 to 0.76.2
   
   
   Dependabot will resolve any conflicts with this PR as long as you don't 
alter it yourself. You can also trigger a rebase manually by commenting 
`@dependabot rebase`.
   
   [//]: # (dependabot-automerge-start)
   [//]: # (dependabot-automerge-end)
   
   ---
   
   
   Dependabot commands and options
   
   
   You can trigger Dependabot actions by commenting on this PR:
   - `@dependabot rebase` will rebase this PR
   - `@dependabot recreate` will recreate this PR, overwriting any edits that 
have been made to it
   - `@dependabot merge` will merge this PR after your CI passes on it
   - `@dependabot squash and merge` will squash and merge this PR after your CI 
passes on it
   - `@dependabot cancel merge` will cancel a previously requested merge and 
block automerging
   - `@dependabot reopen` will reopen this PR if it is closed
   - `@dependabot close` will close this PR and stop Dependabot recreating it. 
You can achieve the same result by closing it manually
   - `@dependabot show  ignore conditions` will show all of 
the ignore conditions of the specified dependency
   - `@dependabot ignore this major version` will close this PR and stop 
Dependabot creating any more for this major version (unless you reopen the PR 
or upgrade to it yourself)
   - `@dependabot ignore this minor version` will close this PR and stop 
Dependabot creating any more for this minor version (unless you reopen the PR 
or upgrade to it yourself)
   - `@dependabot ignore this dependency` will close this PR and stop 
Dependabot creating any more for this dependency (unless you reopen the PR or 
upgrade to it yourself)
   
   
   


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



[PR] Build: Bump com.palantir.baseline:gradle-baseline-java from 4.42.0 to 5.35.0 [iceberg]

2024-01-13 Thread via GitHub


dependabot[bot] opened a new pull request, #9468:
URL: https://github.com/apache/iceberg/pull/9468

   Bumps 
[com.palantir.baseline:gradle-baseline-java](https://github.com/palantir/gradle-baseline)
 from 4.42.0 to 5.35.0.
   
   Release notes
   Sourced from https://github.com/palantir/gradle-baseline/releases";>com.palantir.baseline:gradle-baseline-java's
 releases.
   
   5.35.0
   
   
   
   Type
   Description
   Link
   
   
   
   
   Improvement
   Safety propagation traverses complex record components
   https://redirect.github.com/palantir/gradle-baseline/pull/2700";>palantir/gradle-baseline#2700
   
   
   
   5.34.0
   Automated release, no documented user facing changes
   5.33.0
   
   
   
   Type
   Description
   Link
   
   
   
   
   Improvement
   Upgrade error-prone to 2.24.1 (from 2.23.0)
   https://redirect.github.com/palantir/gradle-baseline/pull/2684";>palantir/gradle-baseline#2684
   
   
   
   5.33.0-rc1
   
   
   
   Type
   Description
   Link
   
   
   
   
   Improvement
   Upgrade error-prone to 2.24.1 (from 2.23.0)
   https://redirect.github.com/palantir/gradle-baseline/pull/2684";>palantir/gradle-baseline#2684
   
   
   
   5.32.0
   
   
   
   Type
   Description
   Link
   
   
   
   
   Improvement
   Warn when using records with array fields as their equality behavior is 
surprising
   https://redirect.github.com/palantir/gradle-baseline/pull/2672";>palantir/gradle-baseline#2672
   
   
   Improvement
   Add Visitor to the list of 
DO_NOT_IMPORT_INNER
   https://redirect.github.com/palantir/gradle-baseline/pull/2677";>palantir/gradle-baseline#2677
   
   
   Fix
   Add missing space to message in BaselineCircleCi.java
   https://redirect.github.com/palantir/gradle-baseline/pull/2692";>palantir/gradle-baseline#2692
   
   
   
   5.31.0
   
   
   
   Type
   Description
   Link
   
   
   
   
   Improvement
   Variables annotated with @RegisterExtension are now exempt 
from the StrictUnusedVariable check.
   https://redirect.github.com/palantir/gradle-baseline/pull/2664";>palantir/gradle-baseline#2664
   
   
   
   5.30.0
   
   
   
   Type
   Description
   Link
   
   
   
   
   Improvement
   Upgrade error-prone to the latest release
   https://redirect.github.com/palantir/gradle-baseline/pull/2651";>palantir/gradle-baseline#2651
   
   
   
   5.29.0
   Automated release, no documented user facing changes
   5.28.0
   
   
   
   Type
   Description
   Link
   
   
   
   
   Fix
   Ensure that the baseline-exact-dependencies plugin does not eagerly 
force the creation of the compileClasspath configuration, which 
causes "'languageVersion' is final and cannot be changed any 
further." errors in Gradle >=8.3.
   https://redirect.github.com/palantir/gradle-baseline/pull/2645";>palantir/gradle-baseline#2645
   
   
   
   5.27.0
   
   
   
   Type
   Description
   Link
   
   
   
   
   Fix
   baseline-exact-dependencies is now far more lazy around 
Configuration creation in order to support Gradle 8. Fixed attempt 
to make this work that should not break --write-locks.
   https://redirect.github.com/palantir/gradle-baseline/pull/2644";>palantir/gradle-baseline#2644
   
   
   
   5.26.0
   | Type | Description | Link |
   
   
   ... (truncated)
   
   
   Commits
   
   https://github.com/palantir/gradle-baseline/commit/67a010ebaadb7c375c3324c11cb91d52c7b40dca";>67a010e
 Autorelease 5.35.0
   https://github.com/palantir/gradle-baseline/commit/d69bd00dc925f6dc44abc8801a55e76825ef0f0a";>d69bd00
 fix https://redirect.github.com/palantir/gradle-baseline/issues/2676";>#2676:
 Safety propagation traverses complex record components (https://redirect.github.com/palantir/gradle-baseline/issues/2700";>#2700)
   https://github.com/palantir/gradle-baseline/commit/ae03ee6e0a48d4d2915114fd870ad3b132c275ff";>ae03ee6
 Excavator:  Upgrades Baseline to the latest version (https://redirect.github.com/palantir/gradle-baseline/issues/2698";>#2698)
   https://github.com/palantir/gradle-baseline/commit/957646518b42b2672cdd40d9c66eaaf4ed7beaca";>9576465
 Excavator:  Upgrade Jackson to the latest stable release (https://redirect.github.com/palantir/gradle-baseline/issues/2697";>#2697)
   https://github.com/palantir/gradle-baseline/commit/5ab384f20d6e18ee6f694ce95caa2e07960b3257";>5ab384f
 deprecated conjure check (https://redirect.github.com/palantir/gradle-baseline/issues/2693";>#2693)
   https://github.com/palantir/gradle-baseline/commit/ab7376f25aeaa9dce7e341472124e0482e9043cb";>ab7376f
 Excavator:  Upgrades Baseline to the latest version (https://redirect.github.com/palantir/gradle-baseline/issues/2696";>#2696)
   https://github.com/palantir/gradle-baseline/commit/25ba8af520535781667fbe6789ac38ced69dbdc1";>25ba8af
 Autorelease 5.33.0
   https://github.com/palantir/gradle-baseline/commit/e8800db18c67fb4788e541daa83d968de57474c4";>e8800db
 Excavator:  Upgrade dependencies (https://redirect.github.com/palantir/gradle-baseline/issues/2684";>#2684)
   https://github.com/pal

Re: [PR] Build: Bump slf4j from 1.7.36 to 2.0.10 [iceberg]

2024-01-13 Thread via GitHub


dependabot[bot] commented on PR #9392:
URL: https://github.com/apache/iceberg/pull/9392#issuecomment-1890840016

   Superseded by #9472.


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



[PR] Build: Bump slf4j from 1.7.36 to 2.0.11 [iceberg]

2024-01-13 Thread via GitHub


dependabot[bot] opened a new pull request, #9472:
URL: https://github.com/apache/iceberg/pull/9472

   Bumps `slf4j` from 1.7.36 to 2.0.11.
   Updates `org.slf4j:slf4j-api` from 1.7.36 to 2.0.11
   
   Updates `org.slf4j:slf4j-simple` from 1.7.36 to 2.0.11
   
   
   Dependabot will resolve any conflicts with this PR as long as you don't 
alter it yourself. You can also trigger a rebase manually by commenting 
`@dependabot rebase`.
   
   [//]: # (dependabot-automerge-start)
   [//]: # (dependabot-automerge-end)
   
   ---
   
   
   Dependabot commands and options
   
   
   You can trigger Dependabot actions by commenting on this PR:
   - `@dependabot rebase` will rebase this PR
   - `@dependabot recreate` will recreate this PR, overwriting any edits that 
have been made to it
   - `@dependabot merge` will merge this PR after your CI passes on it
   - `@dependabot squash and merge` will squash and merge this PR after your CI 
passes on it
   - `@dependabot cancel merge` will cancel a previously requested merge and 
block automerging
   - `@dependabot reopen` will reopen this PR if it is closed
   - `@dependabot close` will close this PR and stop Dependabot recreating it. 
You can achieve the same result by closing it manually
   - `@dependabot show  ignore conditions` will show all of 
the ignore conditions of the specified dependency
   - `@dependabot ignore this major version` will close this PR and stop 
Dependabot creating any more for this major version (unless you reopen the PR 
or upgrade to it yourself)
   - `@dependabot ignore this minor version` will close this PR and stop 
Dependabot creating any more for this minor version (unless you reopen the PR 
or upgrade to it yourself)
   - `@dependabot ignore this dependency` will close this PR and stop 
Dependabot creating any more for this dependency (unless you reopen the PR or 
upgrade to it yourself)
   
   
   


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



[PR] Build: Bump com.esotericsoftware:kryo from 4.0.2 to 5.6.0 [iceberg]

2024-01-13 Thread via GitHub


dependabot[bot] opened a new pull request, #9469:
URL: https://github.com/apache/iceberg/pull/9469

   Bumps [com.esotericsoftware:kryo](https://github.com/EsotericSoftware/kryo) 
from 4.0.2 to 5.6.0.
   
   Release notes
   Sourced from https://github.com/EsotericSoftware/kryo/releases";>com.esotericsoftware:kryo's
 releases.
   
   kryo-5.6.0
   This is a maintenance release coming with bug fixes and performance 
improvements.
   https://redirect.github.com/EsotericSoftware/kryo/issues/968";>#968 
Avoid creating GenericsHierarchy when generics optimization is disabled
   https://redirect.github.com/EsotericSoftware/kryo/issues/1014";>#1014 
BigDecimal serializer memory and throughput optimizations (thanks https://github.com/gdela";>@​gdela)
   https://redirect.github.com/EsotericSoftware/kryo/issues/1018";>#1018 
Avoid allocation in BigDecimal serializer with new methods for bytes in 
Input/Output (thanks https://github.com/gdela";>@​gdela)
   Other Tasks:
   
   Streamline Maven project structure and add Dependabot (https://redirect.github.com/EsotericSoftware/kryo/issues/957";>#957)
   Test CI build against Java 21 (https://redirect.github.com/EsotericSoftware/kryo/issues/1017";>#1017)
   Upgrade Maven plugin dependencies
   
   The full list of changes can be found https://github.com/EsotericSoftware/kryo/compare/kryo-parent-5.5.0...kryo-parent-5.6.0";>here.
   Many thanks to all contributors!
   Upgrade Notes
   For migration from previous major versions please check out the https://github.com/EsotericSoftware/kryo/wiki/Migration-to-v5";>migration 
guide. We're asking the community to help and contribute this part: please 
edit the migration wiki page as you encounter any information or issues that 
might help others.
   Compatibility
   
   Serialization compatible
   
   Standard IO: Yes
   Unsafe-based IO: Yes
   
   
   Binary compatible - Yes (https://rawgithub.com/EsotericSoftware/kryo/master/compat_reports/kryo/5.5.0_to_5.6.0/compat_report.html";>Details)
   Source compatible - Yes (https://rawgithub.com/EsotericSoftware/kryo/master/compat_reports/kryo/5.5.0_to_5.6.0/compat_report.html#Source";>Details)
   
   kryo-5.5.0
   This is a maintenance release coming with bug fixes and performance 
improvements.
   https://redirect.github.com/EsotericSoftware/kryo/issues/944";>#944 
Avoid slow Class.forName when serializing lambdas
   https://redirect.github.com/EsotericSoftware/kryo/issues/946";>#946 
Make the ImmutableCollections serializers public and final
   https://redirect.github.com/EsotericSoftware/kryo/issues/948";>#948 
Ensure that record constructors are always accessible
   https://redirect.github.com/EsotericSoftware/kryo/issues/951";>#951 
Fix serialization of Kotlin lambdas
   https://redirect.github.com/EsotericSoftware/kryo/issues/955";>#955 
Fix type resolution for generic arrays
   https://redirect.github.com/EsotericSoftware/kryo/issues/956";>#956 
Performance improvements for Kryo.isClosure()
   Other Tasks:
   
   Test CI build against Java 20
   Support for Kotlin tests
   Upgrade Maven plugin dependencies
   
   The full list of changes can be found https://github.com/EsotericSoftware/kryo/compare/kryo-parent-5.4.0...kryo-parent-5.5.0";>here.
   Many thanks to all contributors!
   Upgrade Notes
   For migration from previous major versions please check out the https://github.com/EsotericSoftware/kryo/wiki/Migration-to-v5";>migration 
guide. We're asking the community to help and contribute this part: please 
edit the migration wiki page as you encounter any information or issues that 
might help others.
   
   
   ... (truncated)
   
   
   Commits
   
   https://github.com/EsotericSoftware/kryo/commit/8c112ccd1e1f3a4399251f56b6d557a09959b6c9";>8c112cc
 [maven-release-plugin] prepare release kryo-parent-5.6.0
   https://github.com/EsotericSoftware/kryo/commit/726fabecf56d782ee2be20bc0314b92c25f1db28";>726fabe
 Bump kotlin.version from 1.9.21 to 1.9.22 (https://redirect.github.com/EsotericSoftware/kryo/issues/1039";>#1039)
   https://github.com/EsotericSoftware/kryo/commit/e0402130d9184d4fa5582e14a23e68147f26e3ce";>e040213
 Bump net.bytebuddy:byte-buddy from 1.14.10 to 1.14.11 (https://redirect.github.com/EsotericSoftware/kryo/issues/1038";>#1038)
   https://github.com/EsotericSoftware/kryo/commit/a8b0154f6ffaca5d56ba991f3bfc6082ed64b546";>a8b0154
 Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.2 to 3.2.3 (https://redirect.github.com/EsotericSoftware/kryo/issues/1035";>#1035)
   https://github.com/EsotericSoftware/kryo/commit/e6dab285287b459a80c4b8933c2ba320cd911c3f";>e6dab28
 Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.6.2 to 3.6.3 (https://redirect.github.com/EsotericSoftware/kryo/issues/1033";>#1033)
   https://github.com/EsotericSoftware/kryo/commit/2c2eb7f8b5b67c5483429d07adecc34688f86ded";>2c2eb7f
 Bump org.apache.commons:commons-lang3 from 3.13.0 to 3.14.0 (https://redirect.github.com/EsotericSoftware/kryo/issues/1032";>#1032)
   https://gi

Re: [PR] Build: Bump com.esotericsoftware:kryo from 4.0.2 to 5.5.0 [iceberg]

2024-01-13 Thread via GitHub


dependabot[bot] closed pull request #8793: Build: Bump 
com.esotericsoftware:kryo from 4.0.2 to 5.5.0
URL: https://github.com/apache/iceberg/pull/8793


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Build: Bump com.esotericsoftware:kryo from 4.0.2 to 5.5.0 [iceberg]

2024-01-13 Thread via GitHub


dependabot[bot] commented on PR #8793:
URL: https://github.com/apache/iceberg/pull/8793#issuecomment-1890839948

   Superseded by #9469.


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



[PR] Build: Bump org.springframework:spring-web from 5.3.30 to 6.1.3 [iceberg]

2024-01-13 Thread via GitHub


dependabot[bot] opened a new pull request, #9470:
URL: https://github.com/apache/iceberg/pull/9470

   Bumps 
[org.springframework:spring-web](https://github.com/spring-projects/spring-framework)
 from 5.3.30 to 6.1.3.
   
   Release notes
   Sourced from https://github.com/spring-projects/spring-framework/releases";>org.springframework:spring-web's
 releases.
   
   v6.1.3
   :star: New Features
   
   Perform checks for bean validation constraints in HandlerMethod only 
when needed https://redirect.github.com/spring-projects/spring-framework/issues/32007";>#32007
   Exclude URI query from remaining WebClient checkpoints https://redirect.github.com/spring-projects/spring-framework/pull/31992";>#31992
   Avoid early getMostSpecificMethod resolution in 
CommonAnnotationBeanPostProcessor https://redirect.github.com/spring-projects/spring-framework/issues/31967";>#31967
   Introduce processInjection() in 
CommonAnnotationBeanPostProcessor https://redirect.github.com/spring-projects/spring-framework/issues/31956";>#31956
   Make maximum length of SpEL expressions in an 
ApplicationContext configurable https://redirect.github.com/spring-projects/spring-framework/issues/31952";>#31952
   JdkClientHttpRequest may block indefinitely https://redirect.github.com/spring-projects/spring-framework/issues/31911";>#31911
   Allow Propagation.NOT\_SUPPORTED with 
@TransactionalEventListener https://redirect.github.com/spring-projects/spring-framework/issues/31907";>#31907
   Review HibernateJpaVendorAdapter to align dialect to use for recent 
Hibernate versions https://redirect.github.com/spring-projects/spring-framework/issues/31896";>#31896
   Improve method validation support for containers with constraints on 
container elements  https://redirect.github.com/spring-projects/spring-framework/issues/31887";>#31887
   Method validation is not triggered when constraints are applied to the 
elements of a List https://redirect.github.com/spring-projects/spring-framework/issues/31870";>#31870
   Use standard String comparison in 
ExtendedBeanInfo.PropertyDescriptorComparator https://redirect.github.com/spring-projects/spring-framework/issues/31866";>#31866
   Detect Jetty 12 "max length exceeded" message for 
MaxUploadSizeExceededException https://redirect.github.com/spring-projects/spring-framework/issues/31850";>#31850
   Ensure that Observation is stopped and Scope is closed in 
doReceiveAndExecute() https://redirect.github.com/spring-projects/spring-framework/pull/31798";>#31798
   Support the use of @Resource in test classes in AOT mode https://redirect.github.com/spring-projects/spring-framework/issues/31733";>#31733
   Add support for configuring sslContext in StandardWebSocketClient https://redirect.github.com/spring-projects/spring-framework/issues/30680";>#30680
   Refine allocations for improved memory profile when creating a large 
amount of proxy instances https://redirect.github.com/spring-projects/spring-framework/issues/30499";>#30499
   Check ResponseStatusException reason as MessageSource code for 
ProblemDetail https://redirect.github.com/spring-projects/spring-framework/pull/30300";>#30300
   SpringValidatorAdapter fails in 
getRejectedValue if ValueExtractor used in property 
path to unwrap a container type https://redirect.github.com/spring-projects/spring-framework/issues/29043";>#29043
   Add CORS support for Private Network Access https://redirect.github.com/spring-projects/spring-framework/issues/28546";>#28546
   Introduce NoOpTaskScheduler for disabling @Scheduled tasks 
in test setups https://redirect.github.com/spring-projects/spring-framework/issues/28073";>#28073
   MvcUriComponentsBuilder should resolve property placeholders in request 
mapping paths https://redirect.github.com/spring-projects/spring-framework/issues/26795";>#26795
   Allow SockJsUrlInfo to be overridden in SockJsClient https://redirect.github.com/spring-projects/spring-framework/issues/25888";>#25888
   Extending abstract class does not expose parameter annotations https://redirect.github.com/spring-projects/spring-framework/issues/25788";>#25788
   DatabasePopulatorConfigUtils should only set a populator if matching 
scripts are defined https://redirect.github.com/spring-projects/spring-framework/issues/23405";>#23405
   @annotation pointcut is not matched with complex hierarchy 
and generics against classes compiled by Eclipse [SPR-17310] https://redirect.github.com/spring-projects/spring-framework/issues/21843";>#21843
   Allow registration of application event listeners in a functional way 
[SPR-16872] https://redirect.github.com/spring-projects/spring-framework/issues/21411";>#21411
   Allow CronTrigger to resume from specified timestamp [SPR-14909] https://redirect.github.com/spring-projects/spring-framework/issues/19475";>#19475
   
   :lady_beetle: Bug Fixes
   
   Using a URI variable for port in WebClient causes an 
IllegalStateException https://redirect.github.com/spring-projects/spring-framework/issues/32003";>#

[PR] Build: Bump software.amazon.awssdk:bom from 2.22.12 to 2.23.2 [iceberg]

2024-01-13 Thread via GitHub


dependabot[bot] opened a new pull request, #9471:
URL: https://github.com/apache/iceberg/pull/9471

   Bumps software.amazon.awssdk:bom from 2.22.12 to 2.23.2.
   
   
   [![Dependabot compatibility 
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=software.amazon.awssdk:bom&package-manager=gradle&previous-version=2.22.12&new-version=2.23.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
   
   Dependabot will resolve any conflicts with this PR as long as you don't 
alter it yourself. You can also trigger a rebase manually by commenting 
`@dependabot rebase`.
   
   [//]: # (dependabot-automerge-start)
   [//]: # (dependabot-automerge-end)
   
   ---
   
   
   Dependabot commands and options
   
   
   You can trigger Dependabot actions by commenting on this PR:
   - `@dependabot rebase` will rebase this PR
   - `@dependabot recreate` will recreate this PR, overwriting any edits that 
have been made to it
   - `@dependabot merge` will merge this PR after your CI passes on it
   - `@dependabot squash and merge` will squash and merge this PR after your CI 
passes on it
   - `@dependabot cancel merge` will cancel a previously requested merge and 
block automerging
   - `@dependabot reopen` will reopen this PR if it is closed
   - `@dependabot close` will close this PR and stop Dependabot recreating it. 
You can achieve the same result by closing it manually
   - `@dependabot show  ignore conditions` will show all of 
the ignore conditions of the specified dependency
   - `@dependabot ignore this major version` will close this PR and stop 
Dependabot creating any more for this major version (unless you reopen the PR 
or upgrade to it yourself)
   - `@dependabot ignore this minor version` will close this PR and stop 
Dependabot creating any more for this minor version (unless you reopen the PR 
or upgrade to it yourself)
   - `@dependabot ignore this dependency` will close this PR and stop 
Dependabot creating any more for this dependency (unless you reopen the PR or 
upgrade to it yourself)
   
   
   


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Build: Bump slf4j from 1.7.36 to 2.0.10 [iceberg]

2024-01-13 Thread via GitHub


dependabot[bot] closed pull request #9392: Build: Bump slf4j from 1.7.36 to 
2.0.10
URL: https://github.com/apache/iceberg/pull/9392


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [I] Support MOR CDC view [iceberg]

2024-01-13 Thread via GitHub


coolderli commented on issue #8975:
URL: https://github.com/apache/iceberg/issues/8975#issuecomment-1890840629

   @flyrain @puchengy any update for supporting this? Is there any plan for 
supporting Flink streaming read? Thanks.


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Add SqlCatalog _commit_table support [iceberg-python]

2024-01-13 Thread via GitHub


syun64 commented on code in PR #265:
URL: https://github.com/apache/iceberg-python/pull/265#discussion_r1451651003


##
pyiceberg/catalog/sql.py:
##
@@ -268,16 +269,32 @@ def drop_table(self, identifier: Union[str, Identifier]) 
-> None:
 identifier_tuple = self.identifier_to_tuple_without_catalog(identifier)
 database_name, table_name = 
self.identifier_to_database_and_table(identifier_tuple, NoSuchTableError)
 with Session(self.engine) as session:
-res = session.execute(
-delete(IcebergTables).where(
-IcebergTables.catalog_name == self.name,
-IcebergTables.table_namespace == database_name,
-IcebergTables.table_name == table_name,
+if self.engine.dialect.supports_sane_rowcount:
+res = session.execute(
+delete(IcebergTables).where(
+IcebergTables.catalog_name == self.name,
+IcebergTables.table_namespace == database_name,
+IcebergTables.table_name == table_name,
+)
 )
-)
+if res.rowcount < 1:
+raise NoSuchTableError(f"Table does not exist: 
{database_name}.{table_name}")
+else:
+try:
+tbl = (
+session.query(IcebergTables)
+.with_for_update(of=IcebergTables, nowait=True)

Review Comment:
   Great question @HonahX . The reason I wanted to avoid using skip_locked is 
because I think that would obfuscate the exception message we receive when 
NoResultFound is raised, which currently means that the table that we wanted to 
find doesn't exist in the DB.
   
   I felt that using nowait would be a good practice to avoid processes hanging 
and waiting for locks, which would behave a lot less like optimistic locking. 
With nowait, if we caught the right exception, we could raise a 
CommitFailedException with a message describing that a conflicting concurrent 
commit was made to the record, which is an expected type of exception with 
optimistic locking.
   
   Would it work to catch  sqlalchemy.exc.OperationalError that is raised when 
the lock isn't available?



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org



Re: [PR] Apply Name mapping [iceberg-python]

2024-01-13 Thread via GitHub


syun64 commented on code in PR #219:
URL: https://github.com/apache/iceberg-python/pull/219#discussion_r1451652305


##
pyiceberg/io/pyarrow.py:
##
@@ -698,77 +708,143 @@ def before_field(self, field: pa.Field) -> None:
 def after_field(self, field: pa.Field) -> None:
 """Override this method to perform an action immediately after 
visiting a field."""
 
+def before_list_element(self, element: pa.Field) -> None:
+"""Override this method to perform an action immediately before 
visiting an element within a ListType."""
+
+def after_list_element(self, element: pa.Field) -> None:
+"""Override this method to perform an action immediately after 
visiting an element within a ListType."""
+
+def before_map_key(self, key: pa.Field) -> None:
+"""Override this method to perform an action immediately before 
visiting a key within a MapType."""
+
+def after_map_key(self, key: pa.Field) -> None:
+"""Override this method to perform an action immediately after 
visiting a key within a MapType."""
+
+def before_map_value(self, value: pa.Field) -> None:
+"""Override this method to perform an action immediately before 
visiting a value within a MapType."""
+
+def after_map_value(self, value: pa.Field) -> None:
+"""Override this method to perform an action immediately after 
visiting a value within a MapType."""
+
 @abstractmethod
-def schema(self, schema: pa.Schema, field_results: List[Optional[T]]) -> 
Optional[T]:
+def schema(self, schema: pa.Schema, struct_result: T) -> T:
 """Visit a schema."""
 
 @abstractmethod
-def struct(self, struct: pa.StructType, field_results: List[Optional[T]]) 
-> Optional[T]:
+def struct(self, struct: pa.StructType, field_results: List[T]) -> T:
 """Visit a struct."""
 
 @abstractmethod
-def list(self, list_type: pa.ListType, element_result: Optional[T]) -> 
Optional[T]:
+def field(self, field: pa.Field, field_result: T) -> T:
+"""Visit a field."""
+
+@abstractmethod
+def list(self, list_type: pa.ListType, element_result: T) -> T:
 """Visit a list."""
 
 @abstractmethod
-def map(self, map_type: pa.MapType, key_result: Optional[T], value_result: 
Optional[T]) -> Optional[T]:
+def map(self, map_type: pa.MapType, key_result: T, value_result: T) -> T:
 """Visit a map."""
 
 @abstractmethod
-def primitive(self, primitive: pa.DataType) -> Optional[T]:
+def primitive(self, primitive: pa.DataType) -> T:
 """Visit a primitive type."""
 
 
 def _get_field_id(field: pa.Field) -> Optional[int]:
-for pyarrow_field_id_key in PYARROW_FIELD_ID_KEYS:
-if field_id_str := field.metadata.get(pyarrow_field_id_key):
-return int(field_id_str.decode())
+if field.metadata:
+for pyarrow_field_id_key in PYARROW_FIELD_ID_KEYS:
+if field_id_str := field.metadata.get(pyarrow_field_id_key):
+return int(field_id_str.decode())
 return None
 
 
 def _get_field_doc(field: pa.Field) -> Optional[str]:
-for pyarrow_doc_key in PYARROW_FIELD_DOC_KEYS:
-if doc_str := field.metadata.get(pyarrow_doc_key):
-return doc_str.decode()
+if field.metadata:
+for pyarrow_doc_key in PYARROW_FIELD_DOC_KEYS:
+if doc_str := field.metadata.get(pyarrow_doc_key):
+return doc_str.decode()
 return None
 
 
-class _ConvertToIceberg(PyArrowSchemaVisitor[Union[IcebergType, Schema]]):
-def _convert_fields(self, arrow_fields: Iterable[pa.Field], field_results: 
List[Optional[IcebergType]]) -> List[NestedField]:
-fields = []
-for i, field in enumerate(arrow_fields):
-field_id = _get_field_id(field)
-field_doc = _get_field_doc(field)
-field_type = field_results[i]
-if field_type is not None and field_id is not None:
-fields.append(NestedField(field_id, field.name, field_type, 
required=not field.nullable, doc=field_doc))
-return fields
-
-def schema(self, schema: pa.Schema, field_results: 
List[Optional[IcebergType]]) -> Schema:
-return Schema(*self._convert_fields(schema, field_results))
-
-def struct(self, struct: pa.StructType, field_results: 
List[Optional[IcebergType]]) -> IcebergType:
-return StructType(*self._convert_fields(struct, field_results))
-
-def list(self, list_type: pa.ListType, element_result: 
Optional[IcebergType]) -> Optional[IcebergType]:
+class _HasIds(PyArrowSchemaVisitor[bool]):
+def schema(self, schema: pa.Schema, struct_result: bool) -> bool:
+return struct_result
+
+def struct(self, struct: pa.StructType, field_results: List[bool]) -> bool:
+return all(field_results)
+
+def field(self, field: pa.Field, field_result: bool) -> bool:
+return all([_get_field_id(field) is not None, field_result])
+
+def list(self, list_type: pa.List

[PR] Build: Bump actions/setup-python from 4 to 5 [iceberg]

2024-01-13 Thread via GitHub


dependabot[bot] opened a new pull request, #9473:
URL: https://github.com/apache/iceberg/pull/9473

   Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 
to 5.
   
   Release notes
   Sourced from https://github.com/actions/setup-python/releases";>actions/setup-python's 
releases.
   
   v5.0.0
   What's Changed
   In scope of this release, we update node version runtime from node16 to 
node20 (https://redirect.github.com/actions/setup-python/pull/772";>actions/setup-python#772).
 Besides, we update dependencies to the latest versions.
   Full Changelog: https://github.com/actions/setup-python/compare/v4.8.0...v5.0.0";>https://github.com/actions/setup-python/compare/v4.8.0...v5.0.0
   v4.8.0
   What's Changed
   In scope of this release we added support for GraalPy (https://redirect.github.com/actions/setup-python/pull/694";>actions/setup-python#694).
 You can use this snippet to set up GraalPy:
   steps:
   - uses: actions/checkout@v4
   - uses: actions/setup-python@v4 
 with:
   python-version: 'graalpy-22.3' 
   - run: python my_script.py
   
   Besides, the release contains such changes as:
   
   Trim python version when reading from file by https://github.com/FerranPares";>@​FerranPares in https://redirect.github.com/actions/setup-python/pull/628";>actions/setup-python#628
   Use non-deprecated versions in examples by https://github.com/jeffwidman";>@​jeffwidman in https://redirect.github.com/actions/setup-python/pull/724";>actions/setup-python#724
   Change deprecation comment to past tense by https://github.com/jeffwidman";>@​jeffwidman in https://redirect.github.com/actions/setup-python/pull/723";>actions/setup-python#723
   Bump @​babel/traverse from 7.9.0 to 7.23.2 by https://github.com/dependabot";>@​dependabot in https://redirect.github.com/actions/setup-python/pull/743";>actions/setup-python#743
   advanced-usage.md: Encourage the use actions/checkout@v4 by https://github.com/cclauss";>@​cclauss in https://redirect.github.com/actions/setup-python/pull/729";>actions/setup-python#729
   Examples now use checkout@v4 by https://github.com/simonw";>@​simonw in https://redirect.github.com/actions/setup-python/pull/738";>actions/setup-python#738
   Update actions/checkout to v4 by https://github.com/dmitry-shibanov";>@​dmitry-shibanov in 
https://redirect.github.com/actions/setup-python/pull/761";>actions/setup-python#761
   
   New Contributors
   
   https://github.com/FerranPares";>@​FerranPares 
made their first contribution in https://redirect.github.com/actions/setup-python/pull/628";>actions/setup-python#628
   https://github.com/timfel";>@​timfel made their 
first contribution in https://redirect.github.com/actions/setup-python/pull/694";>actions/setup-python#694
   https://github.com/jeffwidman";>@​jeffwidman 
made their first contribution in https://redirect.github.com/actions/setup-python/pull/724";>actions/setup-python#724
   
   Full Changelog: https://github.com/actions/setup-python/compare/v4...v4.8.0";>https://github.com/actions/setup-python/compare/v4...v4.8.0
   v4.7.1
   What's Changed
   
   Bump word-wrap from 1.2.3 to 1.2.4 by https://github.com/dependabot";>@​dependabot in https://redirect.github.com/actions/setup-python/pull/702";>actions/setup-python#702
   Add range validation for toml files by https://github.com/dmitry-shibanov";>@​dmitry-shibanov in 
https://redirect.github.com/actions/setup-python/pull/726";>actions/setup-python#726
   
   Full Changelog: https://github.com/actions/setup-python/compare/v4...v4.7.1";>https://github.com/actions/setup-python/compare/v4...v4.7.1
   v4.7.0
   In scope of this release, the support for reading python version from 
pyproject.toml was added (https://redirect.github.com/actions/setup-python/pull/669";>actions/setup-python#669).
 - name: Setup Python
   uses: actions/setup-python@v4
    
   
   
   ... (truncated)
   
   
   Commits
   
   https://github.com/actions/setup-python/commit/0a5c61591373683505ea898e09a3ea4f39ef2b9c";>0a5c615
 Update action to node20 (https://redirect.github.com/actions/setup-python/issues/772";>#772)
   https://github.com/actions/setup-python/commit/0ae58361cdfd39e2950bed97a1e26aa20c3d8955";>0ae5836
 Add example of GraalPy to docs (https://redirect.github.com/actions/setup-python/issues/773";>#773)
   https://github.com/actions/setup-python/commit/b64ffcaf5b410884ad320a9cfac8866006a109aa";>b64ffca
 update actions/checkout to v4 (https://redirect.github.com/actions/setup-python/issues/761";>#761)
   https://github.com/actions/setup-python/commit/8d2896179abf658742de432b3f203d2c2d86a587";>8d28961
 Examples now use checkout@v4 (https://redirect.github.com/actions/setup-python/issues/738";>#738)
   https://github.com/actions/setup-python/commit/7bc6abb01e0555719edc2dbca70a2fde309e5e56";>7bc6abb
 advanced-usage.md: Encourage the use actions/checkout@v4 (https://redirect.github.com/actions/setup-python/issues/729";>#729)
   https://github.com/ac

[PR] Build: Bump actions/checkout from 3 to 4 [iceberg]

2024-01-13 Thread via GitHub


dependabot[bot] opened a new pull request, #9474:
URL: https://github.com/apache/iceberg/pull/9474

   Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
   
   Release notes
   Sourced from https://github.com/actions/checkout/releases";>actions/checkout's 
releases.
   
   v4.0.0
   What's Changed
   
   Update default runtime to node20 by https://github.com/takost";>@​takost in https://redirect.github.com/actions/checkout/pull/1436";>actions/checkout#1436
   Support fetching without the --progress option by https://github.com/simonbaird";>@​simonbaird in https://redirect.github.com/actions/checkout/pull/1067";>actions/checkout#1067
   Release 4.0.0 by https://github.com/takost";>@​takost in https://redirect.github.com/actions/checkout/pull/1447";>actions/checkout#1447
   
   New Contributors
   
   https://github.com/takost";>@​takost made their 
first contribution in https://redirect.github.com/actions/checkout/pull/1436";>actions/checkout#1436
   https://github.com/simonbaird";>@​simonbaird 
made their first contribution in https://redirect.github.com/actions/checkout/pull/1067";>actions/checkout#1067
   
   Full Changelog: https://github.com/actions/checkout/compare/v3...v4.0.0";>https://github.com/actions/checkout/compare/v3...v4.0.0
   v3.6.0
   What's Changed
   
   Mark test scripts with Bash'isms to be run via Bash by https://github.com/dscho";>@​dscho in https://redirect.github.com/actions/checkout/pull/1377";>actions/checkout#1377
   Add option to fetch tags even if fetch-depth > 0 by https://github.com/RobertWieczoreck";>@​RobertWieczoreck 
in https://redirect.github.com/actions/checkout/pull/579";>actions/checkout#579
   Release 3.6.0 by https://github.com/luketomlinson";>@​luketomlinson in https://redirect.github.com/actions/checkout/pull/1437";>actions/checkout#1437
   
   New Contributors
   
   https://github.com/RobertWieczoreck";>@​RobertWieczoreck 
made their first contribution in https://redirect.github.com/actions/checkout/pull/579";>actions/checkout#579
   https://github.com/luketomlinson";>@​luketomlinson made 
their first contribution in https://redirect.github.com/actions/checkout/pull/1437";>actions/checkout#1437
   
   Full Changelog: https://github.com/actions/checkout/compare/v3.5.3...v3.6.0";>https://github.com/actions/checkout/compare/v3.5.3...v3.6.0
   v3.5.3
   What's Changed
   
   Fix: Checkout Issue in self hosted runner due to faulty submodule 
check-ins by https://github.com/megamanics";>@​megamanics in https://redirect.github.com/actions/checkout/pull/1196";>actions/checkout#1196
   Fix typos found by codespell by https://github.com/DimitriPapadopoulos";>@​DimitriPapadopoulos
 in https://redirect.github.com/actions/checkout/pull/1287";>actions/checkout#1287
   Add support for sparse checkouts by https://github.com/dscho";>@​dscho and https://github.com/dfdez";>@​dfdez in https://redirect.github.com/actions/checkout/pull/1369";>actions/checkout#1369
   Release v3.5.3 by https://github.com/TingluoHuang";>@​TingluoHuang in https://redirect.github.com/actions/checkout/pull/1376";>actions/checkout#1376
   
   New Contributors
   
   https://github.com/megamanics";>@​megamanics 
made their first contribution in https://redirect.github.com/actions/checkout/pull/1196";>actions/checkout#1196
   https://github.com/DimitriPapadopoulos";>@​DimitriPapadopoulos
 made their first contribution in https://redirect.github.com/actions/checkout/pull/1287";>actions/checkout#1287
   https://github.com/dfdez";>@​dfdez made their 
first contribution in https://redirect.github.com/actions/checkout/pull/1369";>actions/checkout#1369
   
   Full Changelog: https://github.com/actions/checkout/compare/v3...v3.5.3";>https://github.com/actions/checkout/compare/v3...v3.5.3
   v3.5.2
   What's Changed
   
   Fix: Use correct API url / endpoint in GHES by https://github.com/fhammerl";>@​fhammerl in https://redirect.github.com/actions/checkout/pull/1289";>actions/checkout#1289
 based on https://redirect.github.com/actions/checkout/issues/1286";>#1286 by https://github.com/1newsr";>@​1newsr
   
   Full Changelog: https://github.com/actions/checkout/compare/v3.5.1...v3.5.2";>https://github.com/actions/checkout/compare/v3.5.1...v3.5.2
   v3.5.1
   What's Changed
   
   Improve checkout performance on Windows runners by upgrading 
@​actions/github dependency by https://github.com/BrettDong";>@​BrettDong in https://redirect.github.com/actions/checkout/pull/1246";>actions/checkout#1246
   
   New Contributors
   
   https://github.com/BrettDong";>@​BrettDong made 
their first contribution in https://redirect.github.com/actions/checkout/pull/1246";>actions/checkout#1246
   
   
   
   ... (truncated)
   
   
   Changelog
   Sourced from https://github.com/actions/checkout/blob/main/CHANGELOG.md";>actions/checkout's
 changelog.
   
   Changelog
   v4.1.0
   
   https://redirect.github.com/actions/checkout/pull/1396";>Add 
support for partial checkout filters
   
   v4.0.0
   
   http

Re: [I] ClassNotFoundException when using the flinksql to write iceberg table [iceberg]

2024-01-13 Thread via GitHub


xzwDavid closed issue #8947: ClassNotFoundException when using the flinksql to 
write iceberg table
URL: https://github.com/apache/iceberg/issues/8947


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org