Skip to content

[SPARK-35991][SQL] Add PlanStability suite for TPCH#33736

Closed
AngersZhuuuu wants to merge 24 commits intoapache:masterfrom
AngersZhuuuu:SPARK-35991
Closed

[SPARK-35991][SQL] Add PlanStability suite for TPCH#33736
AngersZhuuuu wants to merge 24 commits intoapache:masterfrom
AngersZhuuuu:SPARK-35991

Conversation

@AngersZhuuuu
Copy link
Contributor

What changes were proposed in this pull request?

Add PlanStability suite for TPCH

Why are the changes needed?

Add PlanStability suite for TPCH

Does this PR introduce any user-facing change?

No

How was this patch tested?

Added UT

@github-actions github-actions bot added the SQL label Aug 13, 2021
@AngersZhuuuu
Copy link
Contributor Author

FYI @wangyum @cloud-fan
Also ping @maropu What should I do with statistic data, I see you add tpcds's statistic data.

@SparkQA
Copy link

SparkQA commented Aug 13, 2021

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46930/

@SparkQA
Copy link

SparkQA commented Aug 13, 2021

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46930/

@SparkQA
Copy link

SparkQA commented Aug 13, 2021

Test build #142424 has finished for PR 33736 at commit ad6585e.

  • This patch fails Spark unit tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@SparkQA
Copy link

SparkQA commented Aug 14, 2021

Kubernetes integration test unable to build dist.

exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46967/

@SparkQA
Copy link

SparkQA commented Aug 14, 2021

Test build #142461 has finished for PR 33736 at commit 7e54bf8.

  • This patch fails Spark unit tests.
  • This patch merges cleanly.
  • This patch adds the following public classes (experimental):
  • public class BlockPushNonFatalFailure extends RuntimeException
  • public class TimerWithCustomTimeUnit extends Timer
  • class BlockFetchErrorHandler implements ErrorHandler
  • public class NoOpMergedShuffleFileManager implements MergedShuffleFileManager
  • public static class AppShuffleMergePartitionsInfo
  • public static class AppShuffleInfo
  • public class RetryingBlockTransferor
  • public class ShuffleChecksumHelper
  • public class BlockPushReturnCode extends BlockTransferMessage
  • public class CorruptionCause extends BlockTransferMessage
  • public class DiagnoseCorruption extends BlockTransferMessage
  • public final class SparkOutOfMemoryError extends OutOfMemoryError implements SparkThrowable
  • final class ShuffleExternalSorter extends MemoryConsumer implements ShuffleChecksumSupport
  • throw new IllegalArgumentException(s\"Cannot find error class '$errorClass'\"))
  • class SparkArithmeticException(errorClass: String, messageParameters: Array[String])
  • class MutableCheckedOutputStream(out: OutputStream) extends OutputStream
  • case class ShuffleChecksumBlockId(shuffleId: Int, mapId: Long, reduceId: Int) extends BlockId
  • case class ShufflePushBlockId(
  • case class ShuffleMergedBlockId(
  • case class ShuffleMergedDataBlockId(
  • class RemoteBlockDownloadFileManager(
  • class BlockSavedOnDecommissionedBlockManagerException(blockId: BlockId)
  • public final class JavaStructuredComplexSessionization
  • public static class Sessions
  • public static class SessionEvent implements Serializable
  • public static class SessionAcc implements Serializable
  • public static class Session implements Serializable
  • case class SessionEvent(
  • case class SessionAcc(events: List[SessionEvent])
  • case class Session(
  • case class AvroMatchedField(
  • public final class Aggregation implements Serializable
  • public final class Count implements AggregateFunc
  • public final class CountStar implements AggregateFunc
  • public final class Max implements AggregateFunc
  • public final class Min implements AggregateFunc
  • public final class Sum implements AggregateFunc
  • case class UnresolvedFieldPosition(position: ColumnPosition) extends FieldPosition
  • case class ExpressionEquals(e: Expression)
  • case class ExpressionStats(expr: Expression)(var useCount: Int = 1)
  • case class SessionWindow(timeColumn: Expression, gapDuration: Long) extends UnaryExpression
  • case class Average(
  • case class Sum(
  • case class SubExprEliminationState(eval: ExprCode, children: Seq[SubExprEliminationState])
  • case class LocalTimestamp(timeZoneId: Option[String] = None) extends LeafExpression
  • case class GetTimestamp(
  • case class ParseToTimestampLTZ(
  • case class ParseToTimestamp(
  • case class MakeTimestampNTZ(
  • case class MakeTimestampLTZ(
  • case class DomainJoin(
  • trait AlterTableCommand extends UnaryCommand
  • case class CommentOnTable(table: LogicalPlan, comment: String) extends AlterTableCommand
  • case class SetTableLocation(
  • case class SetTableProperties(
  • case class UnsetTableProperties(
  • case class AddColumns(
  • case class ReplaceColumns(
  • case class DropColumns(
  • case class RenameColumn(
  • case class AlterColumn(
  • .doc(\"The custom cost evaluator class to be used for adaptive execution. If not being set,\" +
  • static class IntegerUpdater implements ParquetVectorUpdater
  • class Observation(name: String)
  • case class CoalescedMapperPartitionSpec(
  • trait AQEShuffleReadRule extends Rule[SparkPlan]
  • case class CoalesceShufflePartitions(session: SparkSession) extends AQEShuffleReadRule
  • class BasicWriteTaskStatsTracker(
  • protected abstract class ConnectionProviderBase extends Logging
  • case class ScanBuilderHolder(
  • case class EnsureRequirements(optimizeOutRepartition: Boolean = true) extends Rule[SparkPlan]
  • class MergingSortWithSessionWindowStateIterator(
  • class ContinuousWriteRDD(var prev: RDD[InternalRow], writerFactory: StreamingDataWriterFactory,
  • case class WriteToContinuousDataSource(write: StreamingWrite, query: LogicalPlan,
  • case class WriteToContinuousDataSourceExec(write: StreamingWrite, query: SparkPlan,
  • trait HDFSBackedStateStoreMap
  • class NoPrefixHDFSBackedStateStoreMap extends HDFSBackedStateStoreMap
  • class PrefixScannableHDFSBackedStateStoreMap(
  • class HDFSBackedReadStateStore(val version: Long, map: HDFSBackedStateStoreMap)
  • class HDFSBackedStateStore(val version: Long, mapToUpdate: HDFSBackedStateStoreMap)
  • case class RocksDBMetrics(
  • case class RocksDBNativeHistogram(
  • case class RocksDBFileManagerMetrics(
  • sealed trait RocksDBStateEncoder
  • class PrefixKeyScanStateEncoder(
  • class NoPrefixKeyStateEncoder(keySchema: StructType, valueSchema: StructType)
  • class RocksDBStateStore(lastVersion: Long) extends StateStore
  • sealed trait StreamingSessionWindowStateManager extends Serializable
  • class StreamingSessionWindowStateManagerImplV1(
  • class StreamingSessionWindowHelper(sessionExpression: Attribute, inputSchema: Seq[Attribute])
  • case class SessionWindowStateStoreRestoreExec(
  • case class SessionWindowStateStoreSaveExec(

@SparkQA
Copy link

SparkQA commented Aug 14, 2021

Kubernetes integration test unable to build dist.

exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46969/

@SparkQA
Copy link

SparkQA commented Aug 14, 2021

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46971/

@SparkQA
Copy link

SparkQA commented Aug 14, 2021

Test build #142463 has finished for PR 33736 at commit 5e3f257.

  • This patch fails Spark unit tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@SparkQA
Copy link

SparkQA commented Aug 14, 2021

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46971/

@SparkQA
Copy link

SparkQA commented Aug 14, 2021

Test build #142464 has finished for PR 33736 at commit b4151d5.

  • This patch fails Spark unit tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@SparkQA
Copy link

SparkQA commented Aug 14, 2021

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46975/

@SparkQA
Copy link

SparkQA commented Aug 14, 2021

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46975/

@SparkQA
Copy link

SparkQA commented Aug 14, 2021

Test build #142468 has finished for PR 33736 at commit 04bcc51.

  • This patch fails Spark unit tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@SparkQA
Copy link

SparkQA commented Aug 16, 2021

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46984/

@SparkQA
Copy link

SparkQA commented Aug 16, 2021

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46985/

@SparkQA
Copy link

SparkQA commented Aug 16, 2021

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46984/

@SparkQA
Copy link

SparkQA commented Aug 16, 2021

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46985/

@SparkQA
Copy link

SparkQA commented Aug 16, 2021

Test build #142476 has finished for PR 33736 at commit 5d0fedf.

  • This patch fails Spark unit tests.
  • This patch merges cleanly.
  • This patch adds the following public classes (experimental):
  • case class SessionWindow(timeColumn: Expression, gapDuration: Expression) extends Expression

@SparkQA
Copy link

SparkQA commented Aug 17, 2021

Test build #142539 has finished for PR 33736 at commit 25a3b60.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@SparkQA
Copy link

SparkQA commented Aug 17, 2021

Kubernetes integration test unable to build dist.

exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47060/

@SparkQA
Copy link

SparkQA commented Aug 17, 2021

Test build #142558 has finished for PR 33736 at commit 21539ff.

  • This patch fails from timeout after a configured wait of 500m.
  • This patch merges cleanly.
  • This patch adds the following public classes (experimental):
  • trait PlanStabilitySuite extends DisableAdaptiveExecutionSuite
  • class TPCDSV1_4_PlanStabilitySuite extends PlanStabilitySuite with TPCDSBase
  • class TPCDSV1_4_PlanStabilityWithStatsSuite extends PlanStabilitySuite with TPCDSBase
  • class TPCDSV2_7_PlanStabilitySuite extends PlanStabilitySuite with TPCDSBase
  • class TPCDSV2_7_PlanStabilityWithStatsSuite extends PlanStabilitySuite with TPCDSBase
  • class TPCDSModifiedPlanStabilitySuite extends PlanStabilitySuite with TPCDSBase
  • class TPCDSModifiedPlanStabilityWithStatsSuite extends PlanStabilitySuite with TPCDSBase
  • class TPCHPlanStabilitySuite extends PlanStabilitySuite with TPCHBase
  • trait PlanSuiteBase extends SharedSparkSession
  • trait TPCDSBase extends PlanSuiteBase with TPCDSSchema
  • trait TPCHBase extends PlanSuiteBase

@AngersZhuuuu
Copy link
Contributor Author

retest this please

@SparkQA
Copy link

SparkQA commented Aug 18, 2021

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47076/

@SparkQA
Copy link

SparkQA commented Aug 18, 2021

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47076/

@SparkQA
Copy link

SparkQA commented Aug 18, 2021

Test build #142575 has finished for PR 33736 at commit 21539ff.

  • This patch fails Spark unit tests.
  • This patch merges cleanly.
  • This patch adds the following public classes (experimental):
  • trait PlanStabilitySuite extends DisableAdaptiveExecutionSuite
  • class TPCDSV1_4_PlanStabilitySuite extends PlanStabilitySuite with TPCDSBase
  • class TPCDSV1_4_PlanStabilityWithStatsSuite extends PlanStabilitySuite with TPCDSBase
  • class TPCDSV2_7_PlanStabilitySuite extends PlanStabilitySuite with TPCDSBase
  • class TPCDSV2_7_PlanStabilityWithStatsSuite extends PlanStabilitySuite with TPCDSBase
  • class TPCDSModifiedPlanStabilitySuite extends PlanStabilitySuite with TPCDSBase
  • class TPCDSModifiedPlanStabilityWithStatsSuite extends PlanStabilitySuite with TPCDSBase
  • class TPCHPlanStabilitySuite extends PlanStabilitySuite with TPCHBase
  • trait PlanSuiteBase extends SharedSparkSession
  • trait TPCDSBase extends PlanSuiteBase with TPCDSSchema
  • trait TPCHBase extends PlanSuiteBase

@SparkQA
Copy link

SparkQA commented Aug 18, 2021

Kubernetes integration test unable to build dist.

exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47105/

@SparkQA
Copy link

SparkQA commented Aug 18, 2021

Test build #142605 has finished for PR 33736 at commit 989c823.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@SparkQA
Copy link

SparkQA commented Aug 18, 2021

Kubernetes integration test unable to build dist.

exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47115/

@SparkQA
Copy link

SparkQA commented Aug 18, 2021

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47116/

@SparkQA
Copy link

SparkQA commented Aug 18, 2021

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47116/

@SparkQA
Copy link

SparkQA commented Aug 18, 2021

Kubernetes integration test unable to build dist.

exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47120/

@SparkQA
Copy link

SparkQA commented Aug 18, 2021

Test build #142615 has finished for PR 33736 at commit ec79d4b.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@SparkQA
Copy link

SparkQA commented Aug 18, 2021

Test build #142619 has finished for PR 33736 at commit c2940dc.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds the following public classes (experimental):
  • trait TPCBase extends SharedSparkSession
  • trait TPCDSBase extends TPCBase with TPCDSSchema
  • trait TPCHBase extends TPCBase

@cloud-fan
Copy link
Contributor

thanks, merging to master!

@cloud-fan cloud-fan closed this in 559fe96 Aug 19, 2021

protected def injectStats: Boolean = false

override def sparkConf: SparkConf = {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: we should not remove the protected modifier here. It forces all the traits/classes extending this trait to also remove the protected modifier, which is an unnecessary breaking.

See https://github.com/apache/spark/pull/33736/files#diff-67f98139e0b98db9e0e896ffbfe9d4a761bd579c8047c304bdca12906c476384L76

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants