You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by tz...@apache.org on 2019/02/28 11:05:30 UTC

[flink] 19/32: [FLINK-11755] [core] Drop no longer used class CompatibilityResult

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

tzulitai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git

commit 937c0dbc446e4c14c16fb5cb2aa64e375aa63548
Author: Tzu-Li (Gordon) Tai <tz...@apache.org>
AuthorDate: Thu Feb 28 17:28:21 2019 +0800

    [FLINK-11755] [core] Drop no longer used class CompatibilityResult
---
 .../api/common/typeutils/CompatibilityResult.java  | 116 ---------------------
 1 file changed, 116 deletions(-)

diff --git a/flink-core/src/main/java/org/apache/flink/api/common/typeutils/CompatibilityResult.java b/flink-core/src/main/java/org/apache/flink/api/common/typeutils/CompatibilityResult.java
deleted file mode 100644
index 1e05d57..0000000
--- a/flink-core/src/main/java/org/apache/flink/api/common/typeutils/CompatibilityResult.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.flink.api.common.typeutils;
-
-import org.apache.flink.annotation.PublicEvolving;
-import org.apache.flink.util.Preconditions;
-
-import javax.annotation.Nonnull;
-
-/**
- * A {@code CompatibilityResult} contains information about whether or not data migration
- * is required in order to continue using new serializers for previously serialized data.
- *
- * @param <T> the type of the data being migrated.
- */
-@PublicEvolving
-public final class CompatibilityResult<T> {
-
-	/** Whether or not migration is required. */
-	private final boolean requiresMigration;
-
-	/**
-	 * The convert deserializer to use for reading previous data during migration,
-	 * in the case that the preceding serializer cannot be found.
-	 *
-	 * <p>This is only relevant if migration is required.
-	 */
-	private final TypeDeserializer<T> convertDeserializer;
-
-	/**
-	 * Returns a result that signals that the new serializer is compatible and no migration is required.
-	 *
-	 * @return a result that signals migration is not required for the new serializer
-	 */
-	public static <T> CompatibilityResult<T> compatible() {
-		return new CompatibilityResult<>(false, null);
-	}
-
-	/**
-	 * Returns a result that signals migration to be performed, and in the case that the preceding serializer
-	 * cannot be found or restored to read the previous data during migration, a provided convert deserializer
-	 * can be used.
-	 *
-	 * @param convertDeserializer the convert deserializer to use, in the case that the preceding serializer
-	 *                            cannot be found.
-	 *
-	 * @param <T> the type of the data being migrated.
-	 *
-	 * @return a result that signals migration is necessary, also providing a convert deserializer.
-	 */
-	public static <T> CompatibilityResult<T> requiresMigration(@Nonnull TypeDeserializer<T> convertDeserializer) {
-		Preconditions.checkNotNull(convertDeserializer, "Convert deserializer cannot be null.");
-
-		return new CompatibilityResult<>(true, convertDeserializer);
-	}
-
-	/**
-	 * Returns a result that signals migration to be performed, and in the case that the preceding serializer
-	 * cannot be found or restored to read the previous data during migration, a provided convert serializer
-	 * can be used. The provided serializer will only be used for deserialization.
-	 *
-	 * @param convertSerializer the convert serializer to use, in the case that the preceding serializer
-	 *                          cannot be found. The provided serializer will only be used for deserialization.
-	 *
-	 * @param <T> the type of the data being migrated.
-	 *
-	 * @return a result that signals migration is necessary, also providing a convert serializer.
-	 */
-	public static <T> CompatibilityResult<T> requiresMigration(@Nonnull TypeSerializer<T> convertSerializer) {
-		Preconditions.checkNotNull(convertSerializer, "Convert serializer cannot be null.");
-
-		return new CompatibilityResult<>(true, new TypeDeserializerAdapter<>(convertSerializer));
-	}
-
-	/**
-	 * Returns a result that signals migration to be performed. The migration will fail if the preceding
-	 * serializer for the previous data cannot be found.
-	 *
-	 * <p>You can also provide a convert deserializer using {@link #requiresMigration(TypeDeserializer)}
-	 * or {@link #requiresMigration(TypeSerializer)}, which will be used as a fallback resort in such cases.
-	 *
-	 * @return a result that signals migration is necessary, without providing a convert deserializer.
-	 */
-	public static <T> CompatibilityResult<T> requiresMigration() {
-		return new CompatibilityResult<>(true, null);
-	}
-
-	private CompatibilityResult(boolean requiresMigration, TypeDeserializer<T> convertDeserializer) {
-		this.requiresMigration = requiresMigration;
-		this.convertDeserializer = convertDeserializer;
-	}
-
-	public TypeDeserializer<T> getConvertDeserializer() {
-		return convertDeserializer;
-	}
-
-	public boolean isRequiresMigration() {
-		return requiresMigration;
-	}
-}