You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@iceberg.apache.org by "EugeneChung (via GitHub)" <gi...@apache.org> on 2024/06/17 14:49:53 UTC

[PR] Ignore iceberg-build.properties file loading exception [iceberg]

EugeneChung opened a new pull request, #10520:
URL: https://github.com/apache/iceberg/pull/10520

   - The IcebergBuild code says it's not critical that even if it fails to load iceberg-build.properties, it just ignores the failure and set information as unknown.
   - But every first call of iceberg library like in spark or spark-shell, this exception can make people confusing.
   - e.g. https://github.com/apache/iceberg/issues/8544
   - How about just log the warning `IcebergBuild: Failed to load version properties from /iceberg-build.properties` but not exception? I don't think it helps anything to iceberg users.
   ```
   24/06/17 11:44:27 WARN IcebergBuild: Failed to load version properties from /iceberg-build.properties
   java.lang.IllegalArgumentException: resource /iceberg-build.properties relative to org.apache.iceberg.IcebergBuild not found.
     at org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkArgument(Preconditions.java:445) ~[iceberg-spark-runtime-3.4_2.12-1.4.0-amzn-0.jar:?]
     at org.apache.iceberg.relocated.com.google.common.io.Resources.getResource(Resources.java:209) ~[iceberg-spark-runtime-3.4_2.12-1.4.0-amzn-0.jar:?]
     at org.apache.iceberg.IcebergBuild.readResource(IcebergBuild.java:112) ~[iceberg-spark-runtime-3.4_2.12-1.4.0-amzn-0.jar:?]
     at org.apache.iceberg.IcebergBuild.loadBuildInfo(IcebergBuild.java:51) ~[iceberg-spark-runtime-3.4_2.12-1.4.0-amzn-0.jar:?]
     at org.apache.iceberg.IcebergBuild.ensureLoaded(IcebergBuild.java:104) ~[iceberg-spark-runtime-3.4_2.12-1.4.0-amzn-0.jar:?]
     at org.apache.iceberg.IcebergBuild.fullVersion(IcebergBuild.java:96) ~[iceberg-spark-runtime-3.4_2.12-1.4.0-amzn-0.jar:?]
     at org.apache.iceberg.EnvironmentContext.<clinit>(EnvironmentContext.java:34) ~[iceberg-spark-runtime-3.4_2.12-1.4.0-amzn-0.jar:?]
     at org.apache.iceberg.spark.SparkCatalog.initialize(SparkCatalog.java:575) ~[iceberg-spark-runtime-3.4_2.12-1.4.0-amzn-0.jar:?]
     at org.apache.spark.sql.connector.catalog.Catalogs$.load(Catalogs.scala:65) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.connector.catalog.CatalogManager.$anonfun$catalog$1(CatalogManager.scala:53) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at scala.collection.mutable.HashMap.getOrElseUpdate(HashMap.scala:86) ~[scala-library-2.12.15.jar:?]
     at org.apache.spark.sql.connector.catalog.CatalogManager.catalog(CatalogManager.scala:53) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.connector.catalog.LookupCatalog$CatalogAndIdentifier$.unapply(LookupCatalog.scala:122) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveRelations$.$anonfun$resolveRelation$1(Analyzer.scala:1307) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at scala.Option.orElse(Option.scala:447) ~[scala-library-2.12.15.jar:?]
     at org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveRelations$.org$apache$spark$sql$catalyst$analysis$Analyzer$ResolveRelations$$resolveRelation(Analyzer.scala:1306) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveRelations$$anonfun$apply$14.applyOrElse(Analyzer.scala:1155) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveRelations$$anonfun$apply$14.applyOrElse(Analyzer.scala:1116) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper.$anonfun$resolveOperatorsUpWithPruning$3(AnalysisHelper.scala:138) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.trees.CurrentOrigin$.withOrigin(TreeNode.scala:107) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper.$anonfun$resolveOperatorsUpWithPruning$1(AnalysisHelper.scala:138) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper$.allowInvokingTransformsInAnalyzer(AnalysisHelper.scala:323) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper.resolveOperatorsUpWithPruning(AnalysisHelper.scala:134) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper.resolveOperatorsUpWithPruning$(AnalysisHelper.scala:130) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan.resolveOperatorsUpWithPruning(LogicalPlan.scala:32) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper.$anonfun$resolveOperatorsUpWithPruning$2(AnalysisHelper.scala:135) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.trees.UnaryLike.mapChildren(TreeNode.scala:1322) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.trees.UnaryLike.mapChildren$(TreeNode.scala:1321) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.plans.logical.Filter.mapChildren(basicLogicalOperators.scala:341) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper.$anonfun$resolveOperatorsUpWithPruning$1(AnalysisHelper.scala:135) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper$.allowInvokingTransformsInAnalyzer(AnalysisHelper.scala:323) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper.resolveOperatorsUpWithPruning(AnalysisHelper.scala:134) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper.resolveOperatorsUpWithPruning$(AnalysisHelper.scala:130) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan.resolveOperatorsUpWithPruning(LogicalPlan.scala:32) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper.$anonfun$resolveOperatorsUpWithPruning$2(AnalysisHelper.scala:135) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.trees.UnaryLike.mapChildren(TreeNode.scala:1322) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.trees.UnaryLike.mapChildren$(TreeNode.scala:1321) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.plans.logical.Project.mapChildren(basicLogicalOperators.scala:97) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper.$anonfun$resolveOperatorsUpWithPruning$1(AnalysisHelper.scala:135) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper$.allowInvokingTransformsInAnalyzer(AnalysisHelper.scala:323) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper.resolveOperatorsUpWithPruning(AnalysisHelper.scala:134) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper.resolveOperatorsUpWithPruning$(AnalysisHelper.scala:130) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan.resolveOperatorsUpWithPruning(LogicalPlan.scala:32) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveRelations$.apply(Analyzer.scala:1116) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveRelations$.apply(Analyzer.scala:1075) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.rules.RuleExecutor.$anonfun$execute$1(RuleExecutor.scala:239) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at scala.collection.LinearSeqOptimized.foldLeft(LinearSeqOptimized.scala:126) ~[scala-library-2.12.15.jar:?]
     at scala.collection.LinearSeqOptimized.foldLeft$(LinearSeqOptimized.scala:122) ~[scala-library-2.12.15.jar:?]
     at scala.collection.immutable.List.foldLeft(List.scala:91) ~[scala-library-2.12.15.jar:?]
     at org.apache.spark.sql.catalyst.rules.RuleExecutor.executeBatch$1(RuleExecutor.scala:236) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.rules.RuleExecutor.$anonfun$execute$6(RuleExecutor.scala:319) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) ~[scala-library-2.12.15.jar:?]
     at org.apache.spark.sql.catalyst.rules.RuleExecutor$RuleExecutionContext$.withContext(RuleExecutor.scala:368) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.rules.RuleExecutor.$anonfun$execute$5(RuleExecutor.scala:319) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.rules.RuleExecutor.$anonfun$execute$5$adapted(RuleExecutor.scala:309) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at scala.collection.immutable.List.foreach(List.scala:431) ~[scala-library-2.12.15.jar:?]
     at org.apache.spark.sql.catalyst.rules.RuleExecutor.execute(RuleExecutor.scala:309) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.rules.RuleExecutor.execute(RuleExecutor.scala:195) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.rules.RuleExecutor.execute(RuleExecutor.scala:191) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.analysis.Analyzer.org$apache$spark$sql$catalyst$analysis$Analyzer$$executeSameContext(Analyzer.scala:261) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.analysis.Analyzer.$anonfun$execute$1(Analyzer.scala:257) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.analysis.AnalysisContext$.withNewAnalysisContext(Analyzer.scala:190) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.analysis.Analyzer.execute(Analyzer.scala:257) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.analysis.Analyzer.execute(Analyzer.scala:218) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.rules.RuleExecutor.$anonfun$executeAndTrack$1(RuleExecutor.scala:182) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.QueryPlanningTracker$.withTracker(QueryPlanningTracker.scala:107) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.rules.RuleExecutor.executeAndTrack(RuleExecutor.scala:182) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.analysis.Analyzer.$anonfun$executeAndCheck$1(Analyzer.scala:242) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper$.markInAnalyzer(AnalysisHelper.scala:330) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.analysis.Analyzer.executeAndCheck(Analyzer.scala:241) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.execution.QueryExecution.$anonfun$analyzed$1(QueryExecution.scala:79) ~[spark-sql_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.catalyst.QueryPlanningTracker.measurePhase(QueryPlanningTracker.scala:192) ~[spark-catalyst_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.execution.QueryExecution.$anonfun$executePhase$2(QueryExecution.scala:231) ~[spark-sql_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.execution.QueryExecution$.withInternalError(QueryExecution.scala:570) ~[spark-sql_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.execution.QueryExecution.$anonfun$executePhase$1(QueryExecution.scala:231) ~[spark-sql_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:827) ~[spark-sql_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.execution.QueryExecution.executePhase(QueryExecution.scala:230) ~[spark-sql_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.execution.QueryExecution.analyzed$lzycompute(QueryExecution.scala:79) ~[spark-sql_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.execution.QueryExecution.analyzed(QueryExecution.scala:77) ~[spark-sql_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.execution.QueryExecution.assertAnalyzed(QueryExecution.scala:69) ~[spark-sql_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.Dataset$.$anonfun$ofRows$2(Dataset.scala:100) ~[spark-sql_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:827) ~[spark-sql_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.Dataset$.ofRows(Dataset.scala:98) ~[spark-sql_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.SparkSession.$anonfun$sql$1(SparkSession.scala:640) ~[spark-sql_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:827) ~[spark-sql_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.SparkSession.sql(SparkSession.scala:630) ~[spark-sql_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at org.apache.spark.sql.SparkSession.sql(SparkSession.scala:662) ~[spark-sql_2.12-3.4.1-amzn-2.jar:3.4.1-amzn-2]
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_402]
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_402]
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_402]
     at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_402]
     at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244) ~[py4j-0.10.9.7.jar:?]
     at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:374) ~[py4j-0.10.9.7.jar:?]
     at py4j.Gateway.invoke(Gateway.java:282) ~[py4j-0.10.9.7.jar:?]
     at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132) ~[py4j-0.10.9.7.jar:?]
     at py4j.commands.CallCommand.execute(CallCommand.java:79) ~[py4j-0.10.9.7.jar:?]
     at py4j.ClientServerConnection.waitForCommands(ClientServerConnection.java:182) ~[py4j-0.10.9.7.jar:?]
     at py4j.ClientServerConnection.run(ClientServerConnection.java:106) ~[py4j-0.10.9.7.jar:?]
     at java.lang.Thread.run(Thread.java:750) ~[?:1.8.0_402]
   ```
   


-- 
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-unsubscribe@iceberg.apache.org

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


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


Re: [PR] Ignore iceberg-build.properties file loading exception [iceberg]

Posted by "EugeneChung (via GitHub)" <gi...@apache.org>.
EugeneChung commented on PR #10520:
URL: https://github.com/apache/iceberg/pull/10520#issuecomment-2225167268

   Fortunately, EMR 7.1.0 fixed the problem.
   ```
   Welcome to
         ____              __
        / __/__  ___ _____/ /__
       _\ \/ _ \/ _ `/ __/  '_/
      /___/ .__/\_,_/_/ /_/\_\   version 3.5.0-amzn-1
         /_/
   
   Using Scala version 2.12.17 (OpenJDK 64-Bit Server VM, Java 17.0.11)
   Type in expressions to have them evaluated.
   Type :help for more information.
   
   scala> spark.sql("""alter table iceberg.dev.table1 add column extension STRING""")
   SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
   SLF4J: Defaulting to no-operation (NOP) logger implementation
   SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
   24/07/12 09:15:20 WARN SparkStringUtils: Truncated the string representation of a plan since it was too large. This behavior can be adjusted by setting 'spark.sql.debug.maxToStringFields'.
   res0: org.apache.spark.sql.DataFrame = []
   
   scala>
   ```


-- 
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-unsubscribe@iceberg.apache.org

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


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


Re: [PR] Ignore iceberg-build.properties file loading exception [iceberg]

Posted by "EugeneChung (via GitHub)" <gi...@apache.org>.
EugeneChung closed pull request #10520: Ignore iceberg-build.properties file loading exception
URL: https://github.com/apache/iceberg/pull/10520


-- 
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-unsubscribe@iceberg.apache.org

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


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