1111import org .elasticsearch .cluster .ClusterName ;
1212import org .elasticsearch .cluster .ClusterState ;
1313import org .elasticsearch .cluster .metadata .MetaData ;
14+ import org .elasticsearch .common .io .stream .NamedWriteableRegistry ;
1415import org .elasticsearch .persistent .PersistentTasksCustomMetaData ;
1516import org .elasticsearch .test .ESTestCase ;
1617import org .elasticsearch .xpack .core .ml .MlMetadata ;
2122import org .elasticsearch .xpack .core .ml .job .config .Job ;
2223import org .elasticsearch .xpack .core .ml .job .config .JobTests ;
2324
25+ import java .io .IOException ;
2426import java .util .ArrayList ;
2527import java .util .Arrays ;
2628import java .util .Collections ;
29+ import java .util .Date ;
2730import java .util .HashMap ;
2831import java .util .List ;
2932import java .util .Map ;
@@ -125,7 +128,7 @@ public void testUpdateJobForMigration() {
125128 Job migratedJob = MlConfigMigrator .updateJobForMigration (oldJob .build ());
126129 assertEquals (Version .CURRENT , migratedJob .getJobVersion ());
127130 assertTrue (migratedJob .getCustomSettings ().containsKey (MlConfigMigrator .MIGRATED_FROM_VERSION ));
128- assertEquals (oldVersion , migratedJob .getCustomSettings ().get (MlConfigMigrator .MIGRATED_FROM_VERSION ));
131+ assertEquals (oldVersion . toString () , migratedJob .getCustomSettings ().get (MlConfigMigrator .MIGRATED_FROM_VERSION ));
129132 }
130133
131134 public void testUpdateJobForMigration_GivenV54Job () {
@@ -138,6 +141,12 @@ public void testUpdateJobForMigration_GivenV54Job() {
138141 assertTrue (migratedJob .getCustomSettings ().containsKey (MlConfigMigrator .MIGRATED_FROM_VERSION ));
139142 }
140143
144+ public void testSerialisationOfUpdatedJob () throws IOException {
145+ Job migratedJob = MlConfigMigrator .updateJobForMigration (JobTests .buildJobBuilder ("pre-migration" ).build (new Date ()));
146+ Job copy = copyWriteable (migratedJob , new NamedWriteableRegistry (Collections .emptyList ()), Job ::new , Version .CURRENT );
147+ assertEquals (migratedJob , copy );
148+ }
149+
141150 public void testFilterFailedJobConfigWrites () {
142151 List <Job > jobs = new ArrayList <>();
143152 jobs .add (JobTests .buildJobBuilder ("foo" ).build ());
0 commit comments