2929import java .util .stream .Collectors ;
3030import java .util .stream .IntStream ;
3131import org .apache .ignite .IgniteCheckedException ;
32- import org .apache .ignite .IgniteException ;
3332import org .apache .ignite .cluster .ClusterNode ;
3433import org .apache .ignite .internal .GridDirectMap ;
3534import org .apache .ignite .internal .GridDirectTransient ;
@@ -91,14 +90,10 @@ public class GridDhtPartitionsFullMessage extends GridDhtPartitionsAbstractMessa
9190
9291 /** Partitions that must be cleared and re-loaded. */
9392 @ GridToStringInclude
94- @ GridDirectTransient
9593 private IgniteDhtPartitionsToReloadMap partsToReload ;
9694
97- /** Serialized partitions that must be cleared and re-loaded. */
98- private byte [] partsToReloadBytes ;
99-
100- /** Serialized partitions sizes. */
101- private byte [] partsSizesBytes ;
95+ /** Partition sizes. */
96+ private Map <Integer , PartitionSizesMap > partsSizes ;
10297
10398 /** Topology version. */
10499 private AffinityTopologyVersion topVer ;
@@ -188,8 +183,7 @@ public GridDhtPartitionsFullMessage(@Nullable GridDhtPartitionExchangeId id,
188183 cp .partHistSuppliers = partHistSuppliers ;
189184 cp .partHistSuppliersBytes = partHistSuppliersBytes ;
190185 cp .partsToReload = partsToReload ;
191- cp .partsToReloadBytes = partsToReloadBytes ;
192- cp .partsSizesBytes = partsSizesBytes ;
186+ cp .partsSizes = partsSizes ;
193187 cp .topVer = topVer ;
194188 cp .errs = errs ;
195189 cp .errsBytes = errsBytes ;
@@ -361,7 +355,7 @@ public IgniteDhtPartitionHistorySuppliersMap partitionHistorySuppliers() {
361355 /**
362356 *
363357 */
364- public Set <Integer > partsToReload (UUID nodeId , int grpId ) {
358+ public Collection <Integer > partsToReload (UUID nodeId , int grpId ) {
365359 if (partsToReload == null )
366360 return Collections .emptySet ();
367361
@@ -371,41 +365,20 @@ public Set<Integer> partsToReload(UUID nodeId, int grpId) {
371365 /**
372366 * Supplies partition sizes map for all cache groups.
373367 *
374- * @param ctx Cache context.
375368 * @param partsSizes Partitions sizes map.
376369 */
377- public void partitionSizes (GridCacheSharedContext ctx , Map <Integer , Map <Integer , Long >> partsSizes ) {
378- try {
379- byte [] marshalled = U .marshal (ctx , partsSizes );
380-
381- if (compressed ())
382- marshalled = U .zip (marshalled , ctx .gridConfig ().getNetworkCompressionLevel ());
383-
384- partsSizesBytes = marshalled ;
385- }
386- catch (IgniteCheckedException ex ) {
387- throw new IgniteException (ex );
388- }
370+ public void partitionSizes (Map <Integer , PartitionSizesMap > partsSizes ) {
371+ this .partsSizes = partsSizes ;
389372 }
390373
391374 /**
392- * Returns partition sizes map for all cache groups.
393- *
394- * @param ctx Cache context.
395375 * @return Partition sizes map (grpId, (partId, partSize)).
396376 */
397- public Map <Integer , Map < Integer , Long >> partitionSizes (GridCacheSharedContext ctx ) {
398- if (partsSizesBytes == null )
377+ public Map <Integer , PartitionSizesMap > partitionSizes () {
378+ if (partsSizes == null )
399379 return Collections .emptyMap ();
400380
401- try {
402- return compressed ()
403- ? U .unmarshalZip (ctx .marshaller (), partsSizesBytes , ctx .deploy ().globalLoader ())
404- : U .unmarshal (ctx , partsSizesBytes , ctx .deploy ().globalLoader ());
405- }
406- catch (IgniteCheckedException ex ) {
407- throw new IgniteException (ex );
408- }
381+ return partsSizes ;
409382 }
410383
411384 /**
@@ -443,7 +416,6 @@ public void rebalanced(boolean rebalanced) {
443416 boolean marshal = (!F .isEmpty (parts ) && partsBytes == null ) ||
444417 (partCntrs != null && !partCntrs .empty () && partCntrsBytes == null ) ||
445418 (partHistSuppliers != null && partHistSuppliersBytes == null ) ||
446- (partsToReload != null && partsToReloadBytes == null ) ||
447419 (!F .isEmpty (errs ) && errsBytes == null );
448420
449421 if (marshal ) {
@@ -461,9 +433,6 @@ public void rebalanced(boolean rebalanced) {
461433 if (partHistSuppliers != null && partHistSuppliersBytes == null )
462434 objectsToMarshall .add (partHistSuppliers );
463435
464- if (partsToReload != null && partsToReloadBytes == null )
465- objectsToMarshall .add (partsToReload );
466-
467436 if (!F .isEmpty (errs ) && errsBytes == null )
468437 objectsToMarshall .add (errs );
469438
@@ -493,9 +462,6 @@ public void rebalanced(boolean rebalanced) {
493462 if (partHistSuppliers != null && partHistSuppliersBytes == null )
494463 partHistSuppliersBytes = iter .next ();
495464
496- if (partsToReload != null && partsToReloadBytes == null )
497- partsToReloadBytes = iter .next ();
498-
499465 if (!F .isEmpty (errs ) && errsBytes == null )
500466 errsBytes = iter .next ();
501467 }
@@ -535,9 +501,6 @@ public void topologyVersion(AffinityTopologyVersion topVer) {
535501 if (partHistSuppliersBytes != null && partHistSuppliers == null )
536502 objectsToUnmarshall .add (partHistSuppliersBytes );
537503
538- if (partsToReloadBytes != null && partsToReload == null )
539- objectsToUnmarshall .add (partsToReloadBytes );
540-
541504 if (errsBytes != null && errs == null )
542505 objectsToUnmarshall .add (errsBytes );
543506
@@ -593,9 +556,6 @@ public void topologyVersion(AffinityTopologyVersion topVer) {
593556 if (partHistSuppliersBytes != null && partHistSuppliers == null )
594557 partHistSuppliers = (IgniteDhtPartitionHistorySuppliersMap )iter .next ();
595558
596- if (partsToReloadBytes != null && partsToReload == null )
597- partsToReload = (IgniteDhtPartitionsToReloadMap )iter .next ();
598-
599559 if (errsBytes != null && errs == null )
600560 errs = (Map <UUID , Exception >)iter .next ();
601561
@@ -685,13 +645,13 @@ public void topologyVersion(AffinityTopologyVersion topVer) {
685645 writer .incrementState ();
686646
687647 case 15 :
688- if (!writer .writeByteArray ( partsSizesBytes ))
648+ if (!writer .writeMap ( partsSizes , MessageCollectionItemType . INT , MessageCollectionItemType . MSG ))
689649 return false ;
690650
691651 writer .incrementState ();
692652
693653 case 16 :
694- if (!writer .writeByteArray ( partsToReloadBytes ))
654+ if (!writer .writeMessage ( partsToReload ))
695655 return false ;
696656
697657 writer .incrementState ();
@@ -794,15 +754,15 @@ public void topologyVersion(AffinityTopologyVersion topVer) {
794754 reader .incrementState ();
795755
796756 case 15 :
797- partsSizesBytes = reader .readByteArray ( );
757+ partsSizes = reader .readMap ( MessageCollectionItemType . INT , MessageCollectionItemType . MSG , false );
798758
799759 if (!reader .isLastRead ())
800760 return false ;
801761
802762 reader .incrementState ();
803763
804764 case 16 :
805- partsToReloadBytes = reader .readByteArray ();
765+ partsToReload = reader .readMessage ();
806766
807767 if (!reader .isLastRead ())
808768 return false ;
@@ -880,8 +840,6 @@ public void cleanUp() {
880840 partCntrs = null ;
881841 partCntrsBytes = null ;
882842 partHistSuppliersBytes = null ;
883- partsToReloadBytes = null ;
884- partsSizesBytes = null ;
885843 errsBytes = null ;
886844 }
887845}
0 commit comments