Skip to content

Instantly share code, notes, and snippets.

View busbey's full-sized avatar

Sean Busbey busbey

  • Champaign, IL USA
View GitHub Profile
#! /usr/bin/env bash
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
git fetch apache
remote: Counting objects: 387, done.
remote: Compressing objects: 100% (113/113), done.
remote: Total 264 (delta 111), reused 179 (delta 72)
Receiving objects: 100% (264/264), 28.46 KiB, done.
Resolving deltas: 100% (111/111), completed with 55 local objects.
From http://git-wip-us.apache.org/repos/asf/accumulo
8669b80..65d5fba 1.4.5-SNAPSHOT -> apache/1.4.5-SNAPSHOT
* [new branch] 1.5.0 -> apache/1.5.0
c23126a..65aaddd 1.5.1-SNAPSHOT -> apache/1.5.1-SNAPSHOT
Failed tests: listscans(org.apache.accumulo.test.ShellServerTest)
maxrow(org.apache.accumulo.test.ShellServerTest): expected:<0> but was:<1>
importDirectory(org.apache.accumulo.test.ShellServerTest): expected:<0> but was:<2>
constraint(org.apache.accumulo.test.ShellServerTest): expected:<0> but was:<2>
renametable(org.apache.accumulo.test.ShellServerTest): expected:<0> but was:<2>
listcompactions(org.apache.accumulo.test.ShellServerTest): expected:<0> but was:<3>
classpath(org.apache.accumulo.test.ShellServerTest): expected:<0> but was:<3>
du(org.apache.accumulo.test.ShellServerTest): expected:<0> but was:<4>
grep(org.apache.accumulo.test.ShellServerTest): expected:<0> but was:<5>
help(org.apache.accumulo.test.ShellServerTest): expected:<0> but was:<5>
#!/bin/bash -e
if [[ "true" = "${DEBUG}" ]]; then
set -x
fi
##To set jenkins Environment Variables:
export TOOLS_HOME=/home/jenkins/tools
export JAVA_HOME=${TOOLS_HOME}/java/jdk1.7.0_79
export FINDBUGS_HOME=${TOOLS_HOME}/findbugs/latest

Problem Statement

Currently, Hadoop exposes downstream clients to a variety of third party libraries. As our code base grows and matures we increase the set of libraries we rely on. At the same time, as our user base grows we increase the likelihood that some downstream project will run into a conflict while attempting to use a different version of some library we depend on. While there are hot-button third party libraries that drive most of the development and support issues (e.g. Guava, Apache Commons, and Jackson), a coherent general practice will ensure that we avoid future complications. Simply attempting to coordinate library versions among Hadoop and various downstream projects is untenable, because each project has its own release schedule and often attempts to support multiple versions of other ecosystem projects. Furthermore, our current approach of taking a conservative approach to dependency updates leads to reliance on stale versions of everything. Those stale versions include

>>> import jenkins
>>> server = jenkins.Jenkins('https://builds.apache.org/')
>>> job_info = server.get_job_info('PreCommit-HBASE-Build', 1, True)
>>> builds = [catch(lambda : server.get_build_info('PreCommit-HBASE-Build', x['number'])) for x in job_info['builds']]
>>> for build in builds:
... if build['result'] == 'SUCCESS':
... host_counts[build['builtOn']]['success']+=1
... elif build['result'] == 'FAILURE':
... for test_log in [artifact for artifact in build['artifacts'] if artifact['fileName'].startswith('patch-unit')]:
... try:
hbase(main):002:0> create 't1', 'family', 'access'
hbase(main):006:0> put = org.apache.hadoop.hbase.client.Put.new("row1".to_java_bytes)
hbase(main):008:0> put.add_column("family".to_java_bytes, "column1".to_java_bytes, "a value".to_java_bytes)
=> #<Java::OrgApacheHadoopHbaseClient::Put:0x648855fd>
hbase(main):009:0> put.add_column("family".to_java_bytes, "column2".to_java_bytes, "another value".to_java_bytes)
=> #<Java::OrgApacheHadoopHbaseClient::Put:0x648855fd>
hbase(main):010:0> put.add_column("access".to_java_bytes, nil, "@group1".to_java_bytes)
=> #<Java::OrgApacheHadoopHbaseClient::Put:0x648855fd>
hbase(main):012:0> get_table("t1").table.put(put)
0 row(s) in 0.0010 seconds
# Run with --help for cli options
#
# Look below for the section marked XXX on how to enable deletes
#
# python2 old_slack_files.py --aggregate-by-type --domain example path/to/my/example.oauth.token.file
#
# Original content from
#
# https://www.shiftedup.com/2014/11/13/how-to-bulk-remove-files-from-slack
#
@busbey
busbey / 0 example for compatible rename
Last active March 1, 2019 23:02
mike had a question
Let's walk through renaming a class in a way that maintains compatibility for a factory class!
Licensed under the MIT license (https://opensource.org/licenses/MIT)
Copyright 2019 Sean Busbey
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
#!/bin/bash -e
if [[ "true" = "${DEBUG}" ]]; then
set -x
printenv
fi
##To set jenkins Environment Variables:
export TOOLS_HOME=/home/jenkins/tools
export FINDBUGS_HOME=${TOOLS_HOME}/findbugs/latest