1. 13 Oct, 2020 1 commit
  2. 08 Jul, 2020 1 commit
  3. 07 Jul, 2020 2 commits
  4. 18 Jun, 2020 1 commit
  5. 20 Mar, 2020 1 commit
    • Tigran Mkrtchyan's avatar
      libs: use jline3 · 95db0e59
      Tigran Mkrtchyan authored
      Motivation:
      from jline2 official page:
      "JLine 2.x development has come to an end, and users are encouraged to
      investigate the use of JLine 3.x instead."
      
      Modification:
      update pom  to use new library. adjust code to new API.
      
      Result:
      up-to-date dependency
      
      Acked-by: Albert Rossi
      Target: master
      95db0e59
  6. 26 Feb, 2020 2 commits
  7. 17 Dec, 2019 1 commit
    • Tigran Mkrtchyan's avatar
      pom: filter out naming related Spotbugs issues · 7e7bee6b
      Tigran Mkrtchyan authored
      Motivation:
      As nfs4j uses autogenerated code, filter out naming issues to
      make critical problems more visible.
      
      Modification:
      introduce spotbugs-exclude.xml file containing warnings that
      should be ignored.
      
      Result:
      critical problems more visible
      
      Acked-by: Paul Millar
      Acked-by: Lea Morschel
      Target: master
      7e7bee6b
  8. 29 Jul, 2019 1 commit
    • Tigran Mkrtchyan's avatar
      pom: add profile to sign artifacts · 56387f78
      Tigran Mkrtchyan authored
      Motivation:
      The are many reasons why we should sign our artifacts. The main two are:
      
        - allow library users to verify who have release the jars
        - maven central accepts only signed artifacts (and this is the goal)
      
      Modification:
      Add profile that will be activated by maven release plugin or manually
      with `-P sign-artifacts` option.
      
      Result:
      produced artifacts will be released.
      
      Acked-by: Jürgen Starek
      Target: master, 0.19
      56387f78
  9. 19 Jul, 2019 1 commit
  10. 17 Jul, 2019 2 commits
  11. 08 Jul, 2019 1 commit
  12. 13 Jun, 2019 1 commit
  13. 07 Jun, 2019 2 commits
    • Tigran Mkrtchyan's avatar
      libs: use hamcrest 2.1 · 13656bd8
      Tigran Mkrtchyan authored
      Motivation:
      latest version of hamcrest test suite to write more sophisticated test
      cases.
      
      Modification:
      Update dependency in the pom file. Update test to avoid usage of
      deprecated API.
      
      Result:
      up-to-date test infrastructure to enhance tests.
      
      Acked-by: Paul Millar
      Target: master
      13656bd8
    • Tigran Mkrtchyan's avatar
      libs: use mockito-core 2.28 · 59edb797
      Tigran Mkrtchyan authored
      up-to-date version with java11 support
      
      Acked-by: Paul Millar
      Target: master
      59edb797
  14. 08 Mar, 2019 1 commit
    • Tigran Mkrtchyan's avatar
      nlm: add throughput test for lock manager · 0a436290
      Tigran Mkrtchyan authored
      Motivation:
      
       - performance benchmarking
       - getting in touch with JMH
      
      Modification:
      Add throughput test for lock manager. Introduce a dedicated profile to
      run benchmark tests.
      
      ```
      $ mvn clean verify -Pbenchmark
      
      ....
      
      Result "org.dcache.nfs.benchmarks.ConcurrentLockManagerBenchmark.benchmarkConcurrentLocking":
        1574556.068 ±(99.9%) 98632.233 ops/s [Average]
        (min, avg, max) = (1078256.296, 1574556.068, 1735655.142), stdev = 131671.209
        CI (99.9%): [1475923.835, 1673188.301] (assumes normal distribution)
      
      $
      ```
      
      Result:
      automated performance monitoring can be integrated into CI.
      
      Acked-by: Albert Rossi
      Target: master
      0a436290
  15. 07 Feb, 2019 2 commits
  16. 14 Nov, 2018 1 commit
  17. 13 Nov, 2018 1 commit
    • Tigran Mkrtchyan's avatar
      nfs41: add BerkeleyDB-based client record store · aaf7d2fd
      Tigran Mkrtchyan authored
      Motivation:
      To allow clients to reclaim opens/locks lost due-to server reboot nfs
      server should store client records on a stable storage. Such client
      record store can be as simple as text file and as complicated as a
      distributed DB.
      
      Modification:
      Introduce BerkeleyDB-based client record store, which keeps track of
      clients in key-value db. On start client store will use db from previous
      start for a recovery. New clients will be stored in a new DB. After
      recovery is complete the old db will be removed and new one will be used
      and primary.
      
      Result:
      nfs server can be configured to use persistent store to keep track of
      nfs clients.
      
      Acked-by: Paul Millar
      Target: master
      aaf7d2fd
  18. 02 Nov, 2018 1 commit
    • Tigran Mkrtchyan's avatar
      libs: use oncrpc4j-3.0.3 · 7fc7a590
      Tigran Mkrtchyan authored
      minor bugfix version that handles DoS situation
      
      Changelog for oncrpc4j-3.0.2..oncrpc4j-3.0.3
          * [c27c72c] [maven-release-plugin] prepare for next development iteration
          * [fc33a7e] libs: use mockito-2.22.0 with java11 support
          * [a72cda7] src: fix typo in method name
          * [cf123fb] oncrpcsvc: do not use FixedThreadPool from grizzly
          * [c582609] [maven-release-plugin] prepare release oncrpc4j-3.0.3
      
      Acked-by: Albert Rossi
      Target: master, 0.17
      7fc7a590
  19. 21 Sep, 2018 1 commit
    • Tigran Mkrtchyan's avatar
      libs: update to oncrpc-3.0.2 · 0af699f4
      Tigran Mkrtchyan authored
      minor bugfix release:
      
      Changelog for oncrpc4j-3.0.1..oncrpc4j-3.0.2
          * [5ae3bf6] [maven-release-plugin] prepare for next development iteration
          * [14f3c9a] portmap: fix xdr encoding of mapping object
          * [cad6d5b] [maven-release-plugin] prepare release oncrpc4j-3.0.2
      
      Acked-by: Paul Millar
      Target: master, 0.17
      0af699f4
  20. 14 May, 2018 3 commits
  21. 08 May, 2018 1 commit
    • Tigran Mkrtchyan's avatar
      pom: update to use oncrpc4j-3.0.x · 24f3a832
      Tigran Mkrtchyan authored
      Motivation:
      migrate to the next major version of oncrpc4j-3.0.x. The highlights:
      
        - java9 ready
        - package name changes
        - update of external dependencies
      
      Full changelog for oncrpc4j-2.7.0..oncrpc4j-3.0.1
          * [5f174e5] [maven-release-plugin] prepare for next development iteration
          * [09f1858] fixed stack overflow for recursive constant definitions
          * [d14a7df] Added input for service name while creating OncRpcClients. This makes it easy to identify threads created on behalf of a client.
          * [48a98be] src: make code base JDK9 ready
          * [64213d2] svc: explicitly specify which address to bind during tests
          * [2ffe42a] svc: use java8 stream to filer local end-point address
          * [d91499e] svc: add OncRpcSvc#toString()
          * [ca0539a] pom: update external libs and maven plugins
          * [b2d8247] src: more java8 clenups
          * [3e2dd59] Test case for issue #56 https://github.com/dCache/oncrpc4j/issues/56
          * [39f51cc] Bad maven module for issue test file
          * [6915c33] Add the missing owner parameter to mapping and rpcb operations
          * [b7b1691] Corrct an NPE when dumping an empty rpcbind registry
          * [b1ba74f] Add version properties for plugin/dependencies
          * [e452d65] Describe maven-jar-plugin in top level pom.xml
          * [f17cbd2] Remove unnecessary null check in generated code
          * [b185da2] pom: fix typo in plugin version property
          * [7aaca8e] utils: drop Bytes#to/fromHexString methods
          * [e0282c6] xdr: rename org.dcache.utils.Opaque into org.dcache.xdr.XdrOpaque
          * [68aa383] pom: bump project major number
          * [aac35af] src: split org.dcache.xdr into org.dcache.oncrpc4j.{xdr,net,rpc,util}
          * [766e70b] docs: update readme to describe new changes
          * [691ec88] pom: remove outdated java.net maven repos
          * [2680903] pom: update guava version to 24
          * [3c7f0bb] xdr: drop XdrBuffer
          * [7cb1fa0] xdr: introduce Xdr#getBytes method
          * [182521d] xdr: implement AutoCloseable interface
          * [fc41b2b] pom: add stable automatic module name into jar
          * [c30b87b] gss: use try-with-resource when Xdr is used
          * [b7eb9b6] rpc: rename GrizzlyXdrTransport to GrizzlyRpcTransport
          * [80c1b52] src: update copyright years
          * [b848ea0] libs: update to grizzly-2.4.3
          * [0ea08fe] [maven-release-plugin] prepare branch 3.0
          * [50f9543] [maven-release-plugin] prepare release oncrpc4j-3.0.0
          * [49bbec1] [maven-release-plugin] prepare for next development iteration
          * [24c87f2] xdr: do not flip byte buffer in Xdr#xdrEncodeByteBuffer
          * [085756e] [maven-release-plugin] prepare release oncrpc4j-3.0.1
      
      Modification:
      update pom file. Adjust to new package names:
      
      org.dcache.xdr =>  org.dcache.oncrpc4j.rpc and org.dcache.oncrpc4j.xdr
      
      Result:
      up-to-date oncrpc4j
      
      Acked-by: Paul Millar
      Target: master
      24f3a832
  22. 24 Jan, 2018 2 commits
  23. 10 Jan, 2018 1 commit
    • Tigran Mkrtchyan's avatar
      nfs: add Hazelcast-based distributed lock manager · 5fc372b7
      Tigran Mkrtchyan authored
      Motivation:
      lock management across multiple nfs servers.
      
      Modification:
      add Hazelcaset-based subclass of AbstractLockManager. Classes which are
      used in lock implementations are updated to implement java.io.Serializible.
      
      NOTICE, that we do not include any (except of hazelcast's own default
      config) configuration. Thus end-application can itself decide how
      Hazelcast is instantiated and configured.
      
      Result:
      locks are honored across set of nfs servers, if configured.
      
      Acked-by: Paul Millar
      Target: master
      5fc372b7
  24. 01 Nov, 2017 1 commit
    • Tigran Mkrtchyan's avatar
      src: add Spring integration module · fdc56bad
      Tigran Mkrtchyan authored
      Motivation:
      To use NFSServerV41 with spring a constructor argument injection is
      required. This makes spring configuration more complicated, as some
      arguments are optional and **null** values have to be injected.
      
      Modification:
      Add NfsServerFactory, which implements Spring's FactoryBean and enables
      simpler integration, for instance where device manager must null:
      
      ```
          <bean id="nfs-v41" class="org.dcache.nfs.v4.NFSServerV41Factory">
              <description>NFSv4.1 MDS server</description>
              <property name="operationFactory" ref="mds-factory"/>
              <property name="vfs" ref="vfs"/>
              <property name="exportFile" ref="export"/>
           </bean>
      ```
      
      instead of:
      
      ```
          <bean id="nfs-v41" class="org.dcache.nfs.v4.NFSServerV41">
              <description>NFSv4.1 MDS server</description>
              <constructor-arg ref="mds-factory"/>
              <constructor-arg index="1"><null/></constructor-arg>
              <constructor-arg ref="vfs" />
              <constructor-arg ref="export"/>
           </bean>
      ```
      
      Result:
      Simpler integration with Spring.
      
      Acked-by: Paul Millar
      Target: master
      fdc56bad
  25. 28 Sep, 2017 2 commits
  26. 04 Aug, 2017 2 commits
  27. 15 Feb, 2017 2 commits
  28. 27 Jan, 2017 1 commit
    • Tigran Mkrtchyan's avatar
      libs: switch to oncrpc4j-2.7.x · 02d6c9b3
      Tigran Mkrtchyan authored
      update to new major release with enhancements and fixes. The main highlight is
      fixes in bidirectional RPC, required for NFSv4.1 call-backs.
      
      Changelog for oncrpc4j-2.6.0..oncrpc4j-2.7.0
          * [cbdca7a] [maven-release-plugin] prepare for next development iteration
          * [042ab50] src: replace doggy code from stachoverflow with alternative from guava
          * [0bb8da0] xdr: replace SIZE_OF_LONG and SIZE_OF_INT with analogs from java8
          * [38eeb1e] xdr: add equals, hashCode and toString to XdrString class
          * [f463f0b] rpc: use 'expect' annotation for unit test
          * [c6eed52] Used a concurrent hashmap for reply queue for improved performance
          * [afaf5a9] pom: use junit-4.11
          * [23a964b] pom: use guava-20,  enable deprecation detection
          * [3e93a21] rpc: introduce XdrTransport#isOpen() method to check connection status
          * [3e30847] rpc: replace guava's SettableFuture with CompletableFuture from java8
          * [df4c058] xdr: add missing Override annotation and throws tag in javadoc
          * [4abca37] rpc: fix server to client callback handling
          * [2600db3] rpc: use java.nio.file.Files instead of com.google.common.io.Files
          * [15e22fc] rpc: remove dead code
          * [efdc82e] rpc: update XdrTransport#send to accept completion handler
          * [5af3efe] rpc: use random into to initialize first xid
          * [7e5999c] correct typo
          * [0545efe] rpc: add a possibility to register message send listeners
          * [3a8ba87] Modify Xdr to encode/decode strings as UTF-8
          * [340d476] [maven-release-plugin] prepare branch 2.7
          * [8c96a87] [maven-release-plugin] prepare release oncrpc4j-2.7.0
      
      Acked-by: Paul Millar
      Target: master
      02d6c9b3
  29. 28 Nov, 2016 1 commit
    • Tigran Mkrtchyan's avatar
      libs: use guava-20 · a9cb53a3
      Tigran Mkrtchyan authored
      Motivation:
      modernize code, synch with other dCache projects
      
      Acked-by: Paul Millar
      Target: master
      a9cb53a3