Thanks, Kevin! +1 (binding) * Downloaded and built from source and ran tests * Checked LICENSE and NOTICE files * Verified signatures for Knox source, Knox and Knoxshell release packages * Used nodejs client to test webhdfs through knox [1] * Used KnoxLine SQL client wiki example to test Hive from groovy based scripting [2] * Ran KnoxShell samples * Tested KnoxSession class refactoring of Hadoop class * Tested programmatic truststore setting for KnoxShell clients * Proxied Ambari UI * Tested async puts to webhdfs via knoxshell from 10 to 4000 files - nearly linear scalability [3] * Tested Admin API and UI
NOTE: Knox Manager Version in the UI is still at 1.0.0 - this is not a blocker but should be fixed in next release - unless it is indeed behind the gateway version for some reason. 1. https://github.com/lmccay/knoxfs 2. https://cwiki.apache.org/confluence/display/KNOX/SQL+Client+Example+using+KnoxShell+in+Apache+Knox 3. see async-puts.groovy script below: import org.apache.knox.gateway.shell.KnoxSession import org.apache.knox.gateway.shell.hdfs.Hdfs import org.apache.knox.gateway.shell.Credentials gateway = "https://localhost:8443/gateway/sandbox" dataFile = "README" count = this.args[0] as Integer credentials = new Credentials() credentials.add("ClearInput", "Enter username: ", "user") .add("HiddenInput", "Enter pas" + "sword: ", "pass") credentials.collect() username = credentials.get("user").string() pass = credentials.get("pass").string() dataDir = "/user/" + username + "/example" session = KnoxSession.login( gateway, username, pass ) Hdfs.rm( session ).file( dataDir ).recursive().now() long start = System.currentTimeMillis(); List<java.util.concurrent.Future<java.util.concurrent.FutureTask>> futures = new ArrayList<>(); for (int i = 0; i < count; i++) { futures.add(Hdfs.put( session ).file( dataFile ).to( dataDir + "/" + dataFile + i ).overwrite( false ).later() { code = it.statusCode print "." if (code != 201) { println "UNEXPECTED RESULT!!!!!!!! " + code } }) } session.waitFor((java.util.concurrent.Future<java.util.concurrent.FutureTask>[])futures.toArray()) long end = System.currentTimeMillis(); System.out.println("Took : " + ((end - start) / 1000)); session.shutdown() On Thu, Dec 13, 2018 at 3:43 PM Sandeep Moré <moresand...@gmail.com> wrote: > Thank you Kevin, > > +1 (binding) > * Downloaded and built from source > * Checked LICENSE and NOTICE files > * Verified GPG/SHA signatures for Knox source, Knox and Knoxshell release > packages > * Installed pseudo-distributed instance (Mac OS X ) > * Ran through knox tests > * Checked websocket functionality > * Checked java script compression (Ambari UI) > * Checked Topology Port Mapping feature > * Checked KnoxShell samples > > Best, > Sandeep > > On Mon, Dec 10, 2018 at 3:40 PM Kevin Risden <kris...@apache.org> wrote: > > > Release candidate #4 for the Apache Knox 1.2.0 release is available at: > > > > https://dist.apache.org/repos/dist/dev/knox/knox-1.2.0/ > > > > The release candidate is a zip archive of the sources in: > > > > https://git-wip-us.apache.org/repos/asf/knox.git > > Branch v1.2.0 (git checkout -b v1.2.0) > > Tag is v1.2.0-rc4 (git checkout -b v1.2.0-rc4) > > > > The KEYS file for signature validation is available at: > > https://dist.apache.org/repos/dist/release/knox/KEYS > > > > Please vote on releasing this package as Apache Knox 1.2.0. > > The vote is open for the next 72 hours and passes if a majority of at > > least three +1 Apache Knox PMC votes are cast. > > > > [ ] +1 Release this package as Apache Knox 1.2.0 > > [ ] -1 Do not release this package because... > > > > Kevin Risden > > >