Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
doujutun3207
flink
提交
9d8a2e26
F
flink
项目概览
doujutun3207
/
flink
与 Fork 源项目一致
从无法访问的项目Fork
通知
24
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
flink
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
9d8a2e26
编写于
2月 09, 2019
作者:
I
Igal Shilman
提交者:
Tzu-Li (Gordon) Tai
2月 22, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[FLINK-11323] Migrate WritableSerializer to use new serialization compatibility abstractions
上级
22a7ecca
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
132 addition
and
2 deletion
+132
-2
flink-connectors/flink-hadoop-compatibility/src/main/java/org/apache/flink/api/java/typeutils/runtime/WritableSerializer.java
.../flink/api/java/typeutils/runtime/WritableSerializer.java
+44
-2
flink-connectors/flink-hadoop-compatibility/src/test/java/org/apache/flink/api/java/typeutils/runtime/WritableSerializerMigrationTest.java
...va/typeutils/runtime/WritableSerializerMigrationTest.java
+88
-0
flink-connectors/flink-hadoop-compatibility/src/test/resources/flink-1.6-writeable-serializer-data
...ty/src/test/resources/flink-1.6-writeable-serializer-data
+0
-0
flink-connectors/flink-hadoop-compatibility/src/test/resources/flink-1.6-writeable-serializer-snapshot
...rc/test/resources/flink-1.6-writeable-serializer-snapshot
+0
-0
flink-connectors/flink-hadoop-compatibility/src/test/resources/flink-1.7-writeable-serializer-data
...ty/src/test/resources/flink-1.7-writeable-serializer-data
+0
-0
flink-connectors/flink-hadoop-compatibility/src/test/resources/flink-1.7-writeable-serializer-snapshot
...rc/test/resources/flink-1.7-writeable-serializer-snapshot
+0
-0
未找到文件。
flink-connectors/flink-hadoop-compatibility/src/main/java/org/apache/flink/api/java/typeutils/runtime/WritableSerializer.java
浏览文件 @
9d8a2e26
...
...
@@ -21,8 +21,11 @@ package org.apache.flink.api.java.typeutils.runtime;
import
org.apache.flink.annotation.Internal
;
import
org.apache.flink.api.common.typeutils.CompatibilityResult
;
import
org.apache.flink.api.common.typeutils.GenericTypeSerializerConfigSnapshot
;
import
org.apache.flink.api.common.typeutils.GenericTypeSerializerSnapshot
;
import
org.apache.flink.api.common.typeutils.TypeSerializer
;
import
org.apache.flink.api.common.typeutils.TypeSerializerConfigSnapshot
;
import
org.apache.flink.api.common.typeutils.TypeSerializerSchemaCompatibility
;
import
org.apache.flink.api.common.typeutils.TypeSerializerSnapshot
;
import
org.apache.flink.core.memory.DataInputView
;
import
org.apache.flink.core.memory.DataOutputView
;
import
org.apache.flink.util.InstantiationUtil
;
...
...
@@ -157,8 +160,8 @@ public final class WritableSerializer<T extends Writable> extends TypeSerializer
// --------------------------------------------------------------------------------------------
@Override
public
WritableSerializerConfig
Snapshot
<
T
>
snapshotConfiguration
()
{
return
new
WritableSerializer
Config
Snapshot
<>(
typeClass
);
public
TypeSerializer
Snapshot
<
T
>
snapshotConfiguration
()
{
return
new
WritableSerializerSnapshot
<>(
typeClass
);
}
@Override
...
...
@@ -176,6 +179,7 @@ public final class WritableSerializer<T extends Writable> extends TypeSerializer
* The config snapshot for this serializer.
* @param <T>
*/
@Deprecated
public
static
final
class
WritableSerializerConfigSnapshot
<
T
extends
Writable
>
extends
GenericTypeSerializerConfigSnapshot
<
T
>
{
...
...
@@ -192,5 +196,43 @@ public final class WritableSerializer<T extends Writable> extends TypeSerializer
public
int
getVersion
()
{
return
VERSION
;
}
@Override
public
TypeSerializerSchemaCompatibility
<
T
>
resolveSchemaCompatibility
(
TypeSerializer
<
T
>
newSerializer
)
{
return
new
WritableSerializerSnapshot
<>(
getTypeClass
())
.
resolveSchemaCompatibility
(
newSerializer
);
}
}
/**
* {@link WritableSerializer} snapshot class.
*/
public
static
final
class
WritableSerializerSnapshot
<
T
extends
Writable
>
extends
GenericTypeSerializerSnapshot
<
T
,
WritableSerializer
>
{
@SuppressWarnings
(
"unused"
)
public
WritableSerializerSnapshot
()
{
}
WritableSerializerSnapshot
(
Class
<
T
>
typeClass
)
{
super
(
typeClass
);
}
@Override
protected
TypeSerializer
<
T
>
createSerializer
(
Class
<
T
>
typeClass
)
{
return
new
WritableSerializer
<>(
typeClass
);
}
@SuppressWarnings
(
"unchecked"
)
@Override
protected
Class
<
T
>
getTypeClass
(
WritableSerializer
serializer
)
{
return
serializer
.
typeClass
;
}
@Override
protected
Class
<?>
serializerClass
()
{
return
WritableSerializer
.
class
;
}
}
}
flink-connectors/flink-hadoop-compatibility/src/test/java/org/apache/flink/api/java/typeutils/runtime/WritableSerializerMigrationTest.java
0 → 100644
浏览文件 @
9d8a2e26
/*
* 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.java.typeutils.runtime
;
import
org.apache.flink.api.common.typeutils.TypeSerializerSnapshotMigrationTestBase
;
import
org.apache.flink.api.java.typeutils.runtime.WritableSerializer.WritableSerializerSnapshot
;
import
org.apache.flink.api.java.typeutils.runtime.WritableSerializerMigrationTest.WritableName
;
import
org.apache.flink.testutils.migration.MigrationVersion
;
import
org.apache.hadoop.io.Writable
;
import
org.junit.runner.RunWith
;
import
org.junit.runners.Parameterized
;
import
java.io.DataInput
;
import
java.io.DataOutput
;
import
java.io.IOException
;
import
java.util.Collection
;
/**
* State migration test for {@link RowSerializer}.
*/
@RunWith
(
Parameterized
.
class
)
public
class
WritableSerializerMigrationTest
extends
TypeSerializerSnapshotMigrationTestBase
<
WritableName
>
{
public
WritableSerializerMigrationTest
(
TestSpecification
<
WritableName
>
testSpecification
)
{
super
(
testSpecification
);
}
@SuppressWarnings
(
"unchecked"
)
@Parameterized
.
Parameters
(
name
=
"Test Specification = {0}"
)
public
static
Collection
<
TestSpecification
<?>>
testSpecifications
()
{
TestSpecifications
testSpecifications
=
new
TestSpecifications
(
MigrationVersion
.
v1_6
,
MigrationVersion
.
v1_7
);
testSpecifications
.
add
(
"writeable-serializer"
,
WritableSerializer
.
class
,
WritableSerializerSnapshot
.
class
,
()
->
new
WritableSerializer
<>(
WritableName
.
class
));
return
testSpecifications
.
get
();
}
/**
* A dummy class that is used in this test.
*/
public
static
final
class
WritableName
implements
Writable
{
public
static
final
long
serialVersionUID
=
1L
;
private
String
name
;
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
@Override
public
void
write
(
DataOutput
out
)
throws
IOException
{
out
.
writeUTF
(
name
);
}
@Override
public
void
readFields
(
DataInput
in
)
throws
IOException
{
name
=
in
.
readUTF
();
}
}
}
flink-connectors/flink-hadoop-compatibility/src/test/resources/flink-1.6-writeable-serializer-data
0 → 100644
浏览文件 @
9d8a2e26
文件已添加
flink-connectors/flink-hadoop-compatibility/src/test/resources/flink-1.6-writeable-serializer-snapshot
0 → 100644
浏览文件 @
9d8a2e26
文件已添加
flink-connectors/flink-hadoop-compatibility/src/test/resources/flink-1.7-writeable-serializer-data
0 → 100644
浏览文件 @
9d8a2e26
文件已添加
flink-connectors/flink-hadoop-compatibility/src/test/resources/flink-1.7-writeable-serializer-snapshot
0 → 100644
浏览文件 @
9d8a2e26
文件已添加
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录