Hello, I can be wrong, but looks like -
`GridIoManager` not a bug, we are checking isEmpty here. `GridCacheLockImpl` not a bug, variable is volatile. Suppose, null-check not too critial for these classes, but can be done. `GridTuple6` - must be fixed. `GridClientJdkMarshaller` - should be fixed. On Tue, 31 Jul 2018 at 16:44 Евгений Станиловский <arzamas...@mail.ru.invalid> wrote: > hi, igniters. > I take a little time to analyze findbugs http://findbugs.sourceforge.net/ > output from ignite-core module. > There is summary of suspicious messages: > > GridIoManager > > sync on conc map: > > synchronized (map) { > rmv = map.remove(set.nodeId(), set); > } > --------------- > > GridCacheLockImpl > > read without sync monitor > > final int getPermits() { > return getState(); > } > > final synchronized void setPermits(int permits) { > setState(permits); > } > > ----------------------- > > GridDhtPartitionFullMap > > add null check > > @Override public boolean equals(Object o) { > if (this == o) > return true; > > GridDhtPartitionFullMap other = (GridDhtPartitionFullMap)o; > > return other.nodeId.equals(nodeId) && other.updateSeq == updateSeq; > } > > GridDhtPartitionMap > > add null check > > @Override public boolean equals(Object o) { > if (this == o) > return true; > > GridDhtPartitionMap other = (GridDhtPartitionMap)o; > > return other.nodeId.equals(nodeId) && other.updateSeq == updateSeq; > } > > add null check > > GridNearOptimisticTxPrepareFuture > > @Override public boolean equals(Object o) { > MappingKey that = (MappingKey) o; > > return nearEntries == that.nearEntries && nodeId.equals(that.nodeId); > } > > ----------------- > > copy-paste: > public class GridTuple6 > > @Override public boolean equals(Object o) { > if (this == o) > return true; > > if (!(o instanceof GridTuple5)) > return false; > > > ------------------- > > not closing stream: > public class GridClientJdkMarshaller implements GridClientMarshaller { > /** ID. */ > public static final byte ID = 2; > > /** {@inheritDoc} */ > @Override public ByteBuffer marshal(Object obj, int off) throws > IOException { > GridByteArrayOutputStream bOut = new GridByteArrayOutputStream(); > > ObjectOutput out = new ObjectOutputStream(bOut); > plz take a look on it, thanks ! -- -- Maxim Muzafarov