Skip to main content
aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2021-12-30Merge branch 'stable-5.1' into stable-5.2stable-5.2Matthias Sohn3-5/+62
* stable-5.1: Use FileSnapshot without using configs for FileBasedConfig Change-Id: I17ede8876a0cf231c38cb9652c7bf51553b1e90e
2021-12-30Use FileSnapshot without using configs for FileBasedConfigstable-5.1Luca Milanesio3-5/+62
FileBasedConfig should not rely on auto-detection of the file-snapshot attribute computation based on config. The check was already performed when a new FileBasedConfig is created at L158: // don't use config in this snapshot to avoid endless recursion newSnapshot = FileSnapshot.saveNoConfig(getFile()); The check was missing though when the FileBasedConfig is saved to disk and the new snapshot is obtained from the associated LockFile. This change fixes the issue by keeping a non-config based FileSnapshot also after a FileBasedConfig is saved. Bug: 577983 Change-Id: Id1e410ba687e683ff2b2643af31e1110b103b356
2021-12-26Merge branch 'stable-5.1' into stable-5.2Thomas Wolf2-13/+0
* stable-5.1: Revert "RefDirectory.scanRef: Re-use file existence check done in snapshot creation" Change-Id: I625667c2718ab31ae7df907c3dd6024a933913b8 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2021-12-26Revert "RefDirectory.scanRef: Re-use file existence check done in snapshot ↵Thomas Wolf2-13/+0
creation" This reverts commit f829f5f838e0f9c17373ea6cb3407976a8f395ff. Using MISSING_FILEKEY as indicator for a non-existing file doesn't work on Windows. Bug: 577954 Change-Id: I92102a3d259f6cc0f367096a3213cfa794466817 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2021-12-04Remove unused import in ApacheSshTestMatthias Sohn1-1/+0
Change-Id: I55ebddf232369389e717bbf8707f6e785de14bce
2021-12-04Merge branch 'stable-5.1' into stable-5.2Matthias Sohn20-52/+78
* stable-5.1: Update maven plugins Ignore missing javadoc in test bundles storage: file: De-duplicate File.exists()+File.isFile() RefDirectory.scanRef: Re-use file existence check done in snapshot creation FileSnapshot: Lazy load file store attributes cache Update eclipse-jarsigner-plugin to 1.3.2 Fix p2 repository URLs Change-Id: If3ad2cfb6c341b0ff5c2120a5a1646f6368d86e7
2021-12-03Update maven pluginsMatthias Sohn2-23/+23
- build-helper-maven-plugin to 3.2.0 - jacoco-maven-plugin to 0.8.7 - maven-antrun-plugin to 3.0.0 - maven-dependency-plugin to 3.2.0 - maven-enforcer-plugin to 3.0.0 - maven-jar-plugin to 3.2.0 - maven-javadoc-plugin to 3.3.1 - maven-jxr-plugin to 3.1.1 - maven-pmd-plugin to 3.15.0 - maven-project-info-reports-plugin to 3.1.2 - maven-resources-plugin to 3.2.0 - maven-shade-plugin to 3.2.4 - maven-site-plugin to 3.9.1 - maven-source-plugin to 3.2.1 - maven-surefire-plugin to 3.0.0-M5 - spotbugs-maven-plugin to 4.3.0 - tycho and tycho-extras to 1.7.0 Change-Id: I7738fbfd7db60ddbeb372efcb4c72c71112ac231
2021-12-03Ignore missing javadoc in test bundlesMatthias Sohn6-6/+6
Change-Id: I83ed20823dc6b22ff48c2a554acb2f7d3b6067b7 (cherry picked from commit 12f39c26b09bc3ebf1dd0216f56c37c808a53034)
2021-12-03storage: file: De-duplicate File.exists()+File.isFile()Nasser Grainawi2-2/+2
File.isFile() [1] checks if the file exists and is a normal file. [1] https://docs.oracle.com/javase/8/docs/api/java/io/File.html#isFile-- Change-Id: I0a883f2482ecc5ac58b270351b416742b568eb68 Signed-off-by: Nasser Grainawi <quic_nasserg@quicinc.com>
2021-12-03RefDirectory.scanRef: Re-use file existence check done in snapshot creationKaushik Lingarkar2-0/+13
Return immediately in scanRef if the loose ref was identified as missing when a snapshot was attempted for the ref. This will help performance of scanRef when the ref is packed but has a corresponding empty dir in 'refs/'. For example, consider the case where we create 50k sharded refs in a new namespace called 'new-refs' using an atomic 'BatchRefUpdate'. The refs are named like 'refs/new-refs/01/1/1', 'refs/new-refs/01/1/2', 'refs/new-refs/01/1/3' and so on. After the refs are created, the 'new-refs' namespace looks like below: $ find refs/new-refs -type f | wc -l 0 $ find refs/new-refs -type d | wc -l 5101 At this point, an 'exactRef' call on each of the 50k refs without this change takes ~2.5s, where as with this change it takes ~1.5s. Change-Id: I926bc41b9ae89a1a792b1b5ec9a17b05271c906b Signed-off-by: Kaushik Lingarkar <quic_kaushikl@quicinc.com>
2021-12-02FileSnapshot: Lazy load file store attributes cacheKaushik Lingarkar1-7/+20
Doing a getFileStoreAttributes call even when the file doesn't exist is unnecessary. This call is particularly slow on some filesystems. Instead, do it only when the file exists and load the appropriate cache. This update can help speed up RefDirectory.exactRef when the ref is packed, but has a corresponding empty dir for it under 'refs/'. This scenario can happen when an atomic 'BatchRefUpdate' creates new sharded refs. For example, consider the case where we create 50k sharded refs in a new namespace called 'new-refs' using an atomic 'BatchRefUpdate'. The refs are named like 'refs/new-refs/01/1/1', 'refs/new-refs/01/1/2', 'refs/new-refs/01/1/3' and so on. After the refs are created, the 'new-refs' namespace looks like below: $ find refs/new-refs -type f | wc -l 0 $ find refs/new-refs -type d | wc -l 5101 At this point, an 'exactRef' call on each of the 50k refs without this change takes ~30s, where as with this change it takes ~2.5s. Change-Id: I4a5d4c6a652dbeed1f4bc3b4f2b2f1416f7ca0e7 Signed-off-by: Kaushik Lingarkar <quic_kaushikl@quicinc.com>
2021-12-02Update eclipse-jarsigner-plugin to 1.3.2Matthias Sohn2-2/+2
Change-Id: Id5d05d96c392913de7b4451421c2ffb7b63ab83f (cherry picked from commit c70c0acb4752f00672e3b856539587e4977bfaea)
2021-12-02Fix p2 repository URLsMatthias Sohn8-20/+20
- the old jetty releases were moved to the archive server - use https - use eclipse 4.9 release repository Change-Id: I2ca20dd828a9272a383e166e6ad82390415891cf
2021-07-29Merge branch 'stable-5.1' into stable-5.2Thomas Wolf1-1/+4
* stable-5.1: [test] Create keystore with the keytool of the running JDK Change-Id: Ic56f4f23c37432377be88e07d06c5ad75591d84f Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2021-07-29[test] Create keystore with the keytool of the running JDKThomas Wolf1-1/+4
Call keytool with the absolute path of "java.home". Otherwise a keytool for a different, maybe even newer Java version might be picked up, and then the keystore may not be readable by the JVM used to run the tests. (cherry picked from commit 2d73c702d3e9128b7dc03a01fe2cf18f119d3ffe) Change-Id: Iea77024947a34267f008847d81312fe0abadc615 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2021-06-05Merge branch 'stable-5.1' into stable-5.2Matthias Sohn5-115/+324
* stable-5.1: Prepare 5.1.17-SNAPSHOT builds JGit v5.1.16.202106041830-r BatchRefUpdate: Skip saving conflicting ref names and prefixes in memory BatchRefUpdateTest: Accurately assert RefsChangedEvent(s) fired Optimize RefDirectory.isNameConflicting() Update bazlets and bazel version Change-Id: If1b5a2b380cf155e66bf5d5c6d216f86c919bb37
2021-06-04Prepare 5.1.17-SNAPSHOT buildsMatthias Sohn57-360/+360
Change-Id: I20c69728465f956a5744a75eb548ef18962286dd Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2021-06-04JGit v5.1.16.202106041830-rv5.1.16.202106041830-rMatthias Sohn57-60/+60
Change-Id: I526ed2a08553bc0b2678aaefaff9e0c6529baefc Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2021-06-04Merge changes I853ac6c7,I01878116,Ie994fc18 into stable-5.1Matthias Sohn3-113/+322
* changes: BatchRefUpdate: Skip saving conflicting ref names and prefixes in memory BatchRefUpdateTest: Accurately assert RefsChangedEvent(s) fired Optimize RefDirectory.isNameConflicting()
2021-05-24BatchRefUpdate: Skip saving conflicting ref names and prefixes in memoryKaushik Lingarkar1-41/+13
Rather than getting all ref names and prefixes and saving them in memory to perform the check for conflicting names, rely on RefDirectory.isNameConflicting as it is no longer an expensive call after it was optimized in Ie994fc. The old optimization to save ref names and prefixes in memory was targeted towards making clones faster. With this change, the clone performance is unaffected when tests were done with repos containing many(~500k) refs. Here are few recorded elapsed times for creating 10 branches using BatchRefUpdate on NFS based repositories with varying loose refs count. As seen here, this change helps improve the BatchRefUpdate performance from O(n^2) to O(1). loose_refs_count with_change without_change 50 241 ms 310 ms 300 263 ms 1502 ms 1k 181 ms 4241 ms 2k 204 ms 6440 ms 9k 158 ms 25930 ms 20k 154 ms 60443 ms 50k 171 ms 135199 ms 110k 157 ms 329450 ms 160k 209 ms 396328 ms This update improves the Gerrit notedb migration performance as it uses BatchRefUpdate to write change meta refs similar to the test performed above. Change-Id: I853ac6c7feb4b39c3156c01876b38cbd182accfe Signed-off-by: Kaushik Lingarkar <quic_kaushikl@quicinc.com>
2021-05-24BatchRefUpdateTest: Accurately assert RefsChangedEvent(s) firedKaushik Lingarkar1-40/+306
Update tests to record the number of events fired post-setup and only assert for events fired during BatchRefUpdate.execute. For tests which use writeLooseRef to setup refs, create new tests which assert the number of RefsChangedEvent(s) rather than updating the existing ones to call RefDirectory.exactRef as it changes the code path. Change-Id: I0187811628d179d9c7e874c9bb8a7ddb44dd9df4 Signed-off-by: Kaushik Lingarkar <quic_kaushikl@quicinc.com>
2021-05-24Optimize RefDirectory.isNameConflicting()Kaushik Lingarkar1-32/+3
Avoid having to scan over ALL loose refs to determine if the name is nested within or is a container of an existing reference. This can get really expensive if there are too many loose refs. Instead use exactRef and getRefsByPrefix which scan based on a prefix. With a simple shell script(like below) using jgit client to create 1k refs in a new repository on NFS, this change brings down the time from 12mins to 7mins. for ref in $(seq 1 1000); do jgit branch "$ref" done Here are few recorded elapsed times to create a new branch on NFS based repositories with varying loose refs count. As we see here, this change improves the name conflicting check from O(n^2) to O(1). loose_refs_count with_change without_change 50 44 ms 164 ms 300 45 ms 1193 ms 1k 38 ms 2610 ms 2k 44 ms 6003 ms 9k 46 ms 27860 ms 20k 45 ms 48591 ms 50k 51 ms 135471 ms 110k 43 ms 294252 ms 160k 52 ms 430976 ms Change-Id: Ie994fc184b8f82811bfb37b111eb9733dbe3e6e0 Signed-off-by: Kaushik Lingarkar <quic_kaushikl@quicinc.com>
2021-05-14Update bazlets and bazel versionMatthias Sohn2-2/+2
- bazlets need to be updated to react on Maven central no longer supporting http protocol but only https - update bazel to 2.0 Change-Id: I07f5f050f3b1db2014a5198a28b6bbf893434814 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> (cherry picked from commit d74daad1e064da9614c5ca2c0138c8046cfb0829)
2020-12-02Merge branch 'stable-5.1' into stable-5.2Matthias Sohn1-0/+1
* stable-5.1: Prepare 5.1.16-SNAPSHOT builds JGit v5.1.15.202012011955-r Fix PackInvalidException when fetch and repack run concurrently Change-Id: Id83e29e567646a3945a5b817860ea8f7c3e6e5cf Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2020-12-02Prepare 5.1.16-SNAPSHOT buildsMatthias Sohn57-360/+360
Change-Id: I50e59e1e73a92fa4fe366398fb8141f5e2e289c1 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2020-12-02JGit v5.1.15.202012011955-rv5.1.15.202012011955-rMatthias Sohn57-60/+60
Change-Id: Icb4f04a40ab366cbacbb3fdf0db1748f27277fda Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2020-12-02Fix PackInvalidException when fetch and repack run concurrentlyPetr Hrebejk1-0/+1
We are running several servers with jGit. We need to run repack from time to time to keep the repos performant. I.e. after push we test how many small packs are in the repo and when a threshold is reached we run the repack. After upgrading jGit version we've found that if someone does the clone at the time repack is running the clone sometimes (not always) fails because the repack removes .pack file used by the clone. Server exception and client error attached. I've tracked down the cause and it seems to be introduced between jGit 5.2 (which we upgraded from) and 5.3 and being caused by this commit: Move throw of PackInvalidException outside the catch - https://github.com/eclipse/jgit/commit/afef866a44cd65fef292c174cad445b3fb526400 The problem is that when the throw was inside of the try block the last catch block catched the exception and called openFailed(false) method. It is true that it called it with invalidate = false, which is wrong. The real problem though is that with the throw outside of the try block the openFail is not called at all and the fields activeWindows and activeCopyRawData are not set to 0. Which affects the later called tests like: if (++activeCopyRawData == 1 && activeWindows == 0). The fix for this is relatively simple keeping the throw outside of the try block and still having the invalid field set to true. I did exhaustive testing of the change running concurrent clones and pushes indefinitely and with the patch applied it never fails while without the patch it takes relatively short to get the error. See: https://www.eclipse.org/lists/jgit-dev/msg04014.html Bug: 569349 Change-Id: I9dbf8801c8d3131955ad7124f42b62095d96da54 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2020-11-26Merge branch 'stable-5.1' into stable-5.2Matthias Sohn7-11/+37
* stable-5.1: Prepare 5.1.15-SNAPSHOT builds JGit v5.1.14.202011251942-r GC#deleteOrphans: log warning for deleted orphaned files GC#deleteOrphans: handle failure to list files in pack directory Ensure that GC#deleteOrphans respects pack lock Update API warning filters Remove unused imports Change-Id: I91cfe2820c40d2d773cbf018cc2a6c36b062801e Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2020-11-26Prepare 5.1.15-SNAPSHOT buildsMatthias Sohn57-360/+360
Change-Id: I70246b66c76e865aef4e3adada3a507750ca7c63 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2020-11-26JGit v5.1.14.202011251942-rv5.1.14.202011251942-rMatthias Sohn57-60/+60
Change-Id: Ibe124988be39feaa029c3770777126dd87b18abc Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2020-11-26GC#deleteOrphans: log warning for deleted orphaned filesMatthias Sohn3-1/+5
Change-Id: Ie245bf5c8c924dfb1f0f40b8bcdcb1e6f5815526 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2020-11-26GC#deleteOrphans: handle failure to list files in pack directoryMatthias Sohn1-2/+3
- log an error - either there is no list or it is incomplete hence return immediately Change-Id: Ieee5378ca06304056b9ccc30c1acd5f52360052d Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2020-11-26Ensure that GC#deleteOrphans respects pack lockMatthias Sohn2-4/+29
If pack or index files are guarded by a pack lock (.keep file) deleteOrphans() should not touch the respective files protected by the lock file. Otherwise it may interfere with PackInserter concurrently inserting a new pack file and its index. The problem was caused by the following race. All mentioned files are located in "objects/pack/". File endings relevant in "pack" dir: .pack .keep .idx .bitmap When ReceivePack receives a pack file it executes the following steps: ReceivePack.service(): receivePackAndCheckConnectivity(): receivePack(): receive the pack parse the pack, returns packLock (.keep file) PackInserter.flush(): write tmpPck file: "insert_<random>.pack" write tmpIdx file: "insert_<random>.idx" real pack name: "pack-<SHA1>.pack" real index name: "pack-<SHA1>.idx" atomic rename tmpPack to realPack atomic rename tmpIdx to tmpIdx execute commands unlock pack by removing .keep file trigger auto gc if enabled When PackInserter.flush() renames the temporary pack to the final "pack-xxx.pack" file the temporary pack index file "insert_xxx.idx" has no matching .pack file with the same base name for a short interval. If deleteOrphans() ran during that interval it deduced the pack index file was orphaned. Subsequently the missing pack index caused MissingObjectExceptions since objects contained in the pack couldn't be looked up anymore. Bug: https://bugs.chromium.org/p/gerrit/issues/detail?id=13544 Change-Id: I559c81e4b1d7c487f92a751bd78b987d32c98719 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2020-07-19Update API warning filtersMatthias Sohn1-0/+28
Change-Id: I0fa9c7725ee15da9a932dab0abfb2525d2401149 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2020-07-19Remove unused importsMatthias Sohn3-4/+0
Change-Id: I7c44e3603df2dd368cb7c0ba0072413b887b6903 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2020-02-11Merge branch 'stable-5.1' into stable-5.2Matthias Sohn0-0/+0
* stable-5.1: Prepare 5.1.14-SNAPSHOT builds JGit v5.1.13.202002110435-r Change-Id: I57fc818e719bc94f90ab1aeb34016eea74d84719 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2020-02-11Prepare 5.1.14-SNAPSHOT buildsMatthias Sohn57-360/+360
Change-Id: Ic7d6f1a6c3123af1a1fa782f052b0cea3b6f28c6 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2020-02-11JGit v5.1.13.202002110435-rv5.1.13.202002110435-rMatthias Sohn57-60/+60
Change-Id: Iedc8699ad1a24efe7ddb47ae919c75b9d36141d4 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2020-02-01Merge branch 'stable-5.1' into stable-5.2David Pursehouse8-86/+466
* stable-5.1: Fix string format parameter for invalidRefAdvertisementLine WindowCache: add metric for cached bytes per repository pgm daemon: fallback to user and system config if no config specified WindowCache: add option to use strong refs to reference ByteWindows Change-Id: I741059a1d0d5950ab5bc16ec70352655ee926a24 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2020-01-30Fix string format parameter for invalidRefAdvertisementLineDavid Pursehouse1-1/+1
The externalized error message added in f4fc640 ("BasePackConnection: Check for expected length of ref advertisement", Dec 18, 2019) uses a malformed string format. Since there is only one formatting argument, it should be referenced with '{0}' rather than '{1}'. Change-Id: Ibda864dfb0bb902fe07ae4bba73117b212046e8a Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
2020-01-28WindowCache: add metric for cached bytes per repositoryMatthias Sohn2-10/+52
Since ObjectDatabase and PackFile don't know their repository use the packfile's grand-grand-parent directory as an identifier for the repository the packfile resides in. Remove metric for a repository if the number of cached bytes for the repository drops to 0 in order to ensure the map of cached bytes per repository doesn't contain repositories which have no data cached in the WindowCache. Change-Id: I969ab8029db0a292e7585cbb36ca0baa797da20b Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2020-01-28pgm daemon: fallback to user and system config if no config specifiedMatthias Sohn1-7/+22
If a config file is passed via option --config-file then use only the options defined in that file. This helps to concisely configure the daemon without side effects from global and system level git configs. Otherwise fallback to user and system level configs. Change-Id: I242de248f257579874ad0bfe4882a22502353b1f Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2020-01-20WindowCache: add option to use strong refs to reference ByteWindowsMatthias Sohn5-70/+379
Java GC evicts all SoftReferences when the used heap size comes close to the maximum heap size. This means peaks in heap memory consumption can flush the complete WindowCache which was observed to have negative impact on performance of upload-pack in Gerrit. Hence add a boolean option core.packedGitUseStrongRefs to allow using strong references to reference packfile pages cached in the WindowCache. If this option is set to true Java gc can no longer flush the WindowCache to free memory if the used heap comes close to the maximum heap size. On the other hand this provides more predictable performance. Bug: 553573 Change-Id: I9de406293087ab0fa61130c8e0829775762ece8d Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2020-01-17Merge branch 'stable-5.1' into stable-5.2David Pursehouse5-21/+74
* stable-5.1: Replace usage of ArrayIndexOutOfBoundsException in treewalk Add config constants for WindowCache configuration options Change-Id: I17da3c5183eca536aa2be3972bc5df45c9d75f1b Signed-off-by: David Pursehouse <david.pursehouse@gmail.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2020-01-09Replace usage of ArrayIndexOutOfBoundsException in treewalkPatrick Hiesel2-9/+6
Using exceptions during normal operations - for example with the desire of expanding an array in the failure case - can have a severe performance impact. When exceptions are instantiated, a stack trace is collected. Generating stack trace can be expensive. Compared to that, checking an array for length - even if done many times - is cheap since this is a check that can run in just a handful of CPU cycles. Change-Id: Ifaf10623f6a876c9faecfa44654c9296315adfcb Signed-off-by: Patrick Hiesel <hiesel@google.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2020-01-09Merge branch 'stable-5.1' into stable-5.2Matthias Sohn12-66/+606
* stable-5.1: Fix unclosed resource warning in SmartOutputStream JschConfigSessionFactory: fix boxing warning SshSupport#runSshCommand: don't throw exception in finally block Don't override already managed maven-compiler-plugin version Remove unused import from CreateFileSnapshotBenchmark Remove duplicate ignore_optional_problems entry in .classpath Update maven-site-plugin used by benchmark module to 3.8.2 Add dependency to enable site generation for benchmark module Ignore warnings for generated source code in org.eclipse.jgit.benchmark Fix MBean registration Enhance WindowCache statistics Change-Id: Ic90aacf1ea40e13dc564d4d659e79535e86d0300 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2020-01-09Fix API problem filtersMatthias Sohn3-27/+74
Change-Id: Icc78570f949ad64beb58caa192c829e536aa8dad Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2020-01-09Add config constants for WindowCache configuration optionsMatthias Sohn3-12/+82
Change-Id: Icc5265f87ae58aa1e667ed1827075c4a30f75c32 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2020-01-06Fix unclosed resource warning in SmartOutputStreamMatthias Sohn1-14/+16
Change-Id: Ia4b96ae1c2cc9357802487384ee32a80ed40334b Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2020-01-06JschConfigSessionFactory: fix boxing warningMatthias Sohn1-1/+2
Change-Id: I1735033c56b444a9a7160cb7df89292a228d5b34 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>

Back to the top