I Use This!
High Activity

News

Analyzed 8 days ago. based on code collected 14 days ago.
Posted 17 days ago by Sally
by Bertrand Delacretaz Asynchronous decision making is a key enabler of our geographically and culturally distributed Open source teams. In this post I'll explain the ingredients that make it work at the ASF. I became active in the ASF in 2001 ... [More] via Gianugo Rabellino - he was the one who started the discussions with Apache Fop about me donating the jfor XLS-FO to RTF converter that I had developed earlier. It was already too late to uninvent RTF which is a terrible format, but I digress. I am currently a member of the Board of Directors of the ASF and have been doing a lot of thinking (and presentations) about what makes the ASF tick in terms of collaboration and Shared Neurons. If synchronous decision-making meetings were required in ASF projects, even using remote channels like IRC or videoconference, we would move forward at a snail-like pace, as just finding a time where all stakeholders are available is almost impossible in an environment that has no managers and no central schedule. Meetings are also very expensive when you are working on a maker's schedule, as described by Paul Graham [1]. Frequent meetings ruin the productivity of craftsmen, and there's lots of craftmanship in our industry, especially when you're building leading edge stuff. So, what's needed to enable people to make collective decisions asynchronously, without requiring meetings? The first thing you need is a central asynchronous communications channel. Which technology you use for that doesn't really matter, but it has to allow everybody to get the same information, and provide a usable way of having threaded discussions, where you can branch off on a topic while ignoring other topics being discussed on the same channel. This can be as simple as a whiteboard if people often visit the same place, or as elaborate as web-based forums, accessible from any mobile device so you can bother^H^H^H^H^H reach people everywhere. At the ASF we use plain mailing lists for that, very successfully when people use them with the right discipline (see the appendix below). Archiving this channel is very useful, to allow newcomers to get a feel for how things work as well as documenting the reasoning that led to each decision and avoid having to repeat things over and over. The second required tool is a way to build consensus, where you avoid deadlocks and make sure decisions go forward. Unanimity in decisions is ideal of course, but the second best is consensus, defined as widespread agreement among people who have decision power. Requiring unanimity or allowing vetoes in decisions can block progress, so at the ASF vetoes only apply to a very limited set of decisions types, as defined by our voting rules [4]. In companies, decision power can be based on hierarchy to break deadlocks. That has to happen sometimes, but abusing it can cause employees to lose their autonomy and purpose, which kills your team in the long term. To keep track of each decision, a case management system is ideal. You could work without that, depending on your team's size and the number of decisions that you take, but it's very convenient to be able to discuss the details of a given decision and keep associated information in a single place. You don't need complex software for that, at the ASF we use fairly simple issue trackers. Those are Web-based systems where each case is handled on a single page, with a history of comments and actions. Some non-urgent or very hard decisions can take a long time to reach closure, and it's very useful to keep their history in a single place, if only to avoid having to explain them again to new members of the team. In a low tech environment you could just use a single sheet of paper to briefly document each decision with the key points that led to it, and keep those in binders or physical files. A nice side effect of using case management software is that each decision gets a simple unique identifier, like FOO-123 for the 123th ticket of the FOO project. This removes any ambiguity as to which issue one's discussing, by mentioning those identifiers in conversations. So, in summary, the following should allow your group to make decisions asynchronously, without requiring meeting and with a written trace of everything that happens: An archived asynchronous communications channel, where everybody can get the same information and threaded discussions can take place. A way of building consensus, including fair rules for breaking deadlocks. If possible, a case management system to keep track of each decision's details, in a much cleaner way than the often messy discussions that happen on the asynchronous channel.  Semi-asynchronous decision making at the ASF I've been a member of the ASF's Board of Directors for a few terms now and I'm still impressed by how efficient our monthly phone conferences are. The meeting regularly lasts only 60 to 90 minutes, during which we approve around 50 project reports, vote on a few resolutions and often address a few discussion items. Besides a few simple things like good phone discipline and a side channel for less important comments (and jokes), the main reason this meeting is so efficient is that almost everything is decided in advance. Board members are expected to read the project reports before the meeting, and a dead simple case management system (described below) helps discuss issues in advance, and find out which reports require a more extensive discussion. Assuming the majority of board members have read the reports in advance, and flagged them as ok or requiring discussion, we don't need any housekeeping time during the meeting. Everybody shows up with a clear view of where difficult discussions might arise, so they have time to prepare for that, including asking others for clarification before the meeting so we can resolve any outstanding issues without delay. The case management system that we use for this is extremely simple, but in terms of enabling asynchronous (or rather semi-asynchronous) decision making it fullfills its role. Our meeting agenda consists of a single text file in our source control system, with a simple structure that provides for a small discussion space for each report that we have to approve and each resolution that we need to vote on. The agenda file structure looks roughly like this: Call to orderRoll callOfficer reportsProject reports, headers and discussion spaceBoard Resolutions with discussion spaceAppendix: Full Project reports and other supporting material And a project report header and discussion space is as simple as this: E. Apache Blazinator Project [Bob Blazer / Bertrand]  See Attachment E  [ Blazinator.    approved: bd, mm, dd, db, jc, ldv    comments:      bd:  Not sure why LEGAL-123 blocks their release      ldv: They are waiting for the committer to supply           an updated iCLA as the received one was            incomplete.      bd:  Ok, thanks, approving the report then.    ] This simple block of structured text builds a very simple "case management system" for the case of approving the Blazinator report. The "approved" line indicates which board members have approved the report, on a single line so that simple text-based tools can validate and count the approvals. The "comments" section allows stakeholders to comment on the report (which is found in an appendix later in the text file), and reply to each other's comments to hopefully reach closure before the meeting. If this happens, approving this report takes almost no time in the meeting, the chairman can just list the project names ("case identifiers" according to the above terminology) of such pre-approved reports, asking if anybody's opposed to approving them. Combined with the ASF board's mailing list, this builds a very simple and very efficient system for semi-asynchronous decision making. Most decisions are taken before the meeting, and the participants can spend their time where it actually adds value as opposed to exchanging boring status information during the meeting. Try it yourself! Many ASF and other Open Source projects release world-changing software while having no or very few meetings, demonstrating that these techniques work. If you're bogged down with inefficient or useless meetings, I suggest that you try applying these principles to a meaningful subset of your decision making activities. People will need to hone their skills to work efficiently in this way, but the rewards can be huge for distributed teams. Appendix: Mailing lists at the ASF At the ASF we use mailing lists as our central asynchronous communications channel, based on our if it didn't happen on the dev mailing list, it didn't happen rule [2]. Mailing lists might be seen as tools of the past when you compare them with the latest shiny tools, but they remain a ubiquitous way of communicating in loosely coupled remote groups, especially when used with a strong discipline of Precise Quoting [3] and paying attention to meaningful subject lines. Unfortunately I hear some "modern" email clients make a mess of that quoting - just stay away from them. References [1] http://www.paulgraham.com/makersschedule.html - Paul Graham, Maker's Schedule, Manager's Schedule, July 2009 [2] https://community.apache.org/apache-way/apache-project-maturity-model.html - The Apache Project Maturity Model, ASF community development team, 2015. [3] http://s.apache.org/gianugo_quoting_2002 - Gianugo Rabellino "[OT/Rant] Quoting", message to the cocoon-dev mailing list, January 2002 [4] http://www.apache.org/foundation/voting.html - ASF voting rules, created in 1999 probably, or even earlier among the Apache Group.  # # # "Success at Apache" is a new monthly blog series that focuses on the processes behind why The Apache Software Foundation (ASF) "just works". First article: Project Independence https://s.apache.org/CE0V Second article: "All Carrot and No Stick" https://s.apache.org/ykoG [Less]
Posted 19 days ago by Clebert
My first draft for this blog had a very extensive introduction about AMQP, its benefits, how business manager X would preserve its investment and blablablablaba... Lets say I cut all that #@!# and I'm jumping right to the good stuff: AMQP is cool ... [More] , full of Libraries that you can bring to use with ActiveMQ Artemis. One of the Libraries you can use is the AMQPLite with .NET If you just want to read the code, i have recently added the .NET Example on Artemis, which is pretty much what I'm describing here Let me give you a cooking recipe on how to write a .NET application and Apache ActiveMQ Artemis Let's do it! Step 1 - Install .NET There is this fun video explaining how to do it. My teenager daughter would definitely be able to follow this: https://channel9.msdn.com/Blogs/dotnet/Get-started-with-VS-Code-using-CSharp-and-NET-Core There is also a video showing how to do it on Mac and Linux Step 2 - Write the code I basically followed the steps here on this hello world app: https://github.com/Azure/amqpnetlite/blob/master/docs/articles/hello_amqp.md The main pitfall I had since I was very rusty on .NET was to install the AMQP.net library accordingly: But I reckon it was my fault, although I could fix it in 10 min by adding this to the project.json: "dependencies": {"AMQPNetLite": "1.2.2"}, Here is the code I have: using System; using Amqp; namespace ConsoleApplication { public class Program { public static void Main(string[] args) { string address = "amqp://a:a@localhost:5672"; Connection connection = new Connection(new Address(address)); Session session = new Session(connection); SenderLink sender = new SenderLink(session, "test-sender", "q1"); Message message1 = new Message("Hello AMQP!"); sender.Send(message1); Console.WriteLine("Message sent into queue q1"); } } } Step 3 - Create an Artemis Broker and run it ./artemis create /tmp/myBroker ./artemis create /tmp/mybroker Creating ActiveMQ Artemis instance at: /private/tmp/mybroker --user: is a mandatory property! Please provide the default username: a --password: is mandatory with this configuration: Please provide the default password: --role: is a mandatory property! Please provide the default role: a --allow-anonymous | --require-login: is a mandatory property! Allow anonymous access? (Y/N): y Auto tuning journal ... done! Your system can make 25 writes per millisecond, your journal-buffer-timeout will be 40000 You can now start the broker by executing: "/private/tmp/mybroker/bin/artemis" run Or you can run the broker in the background using: "/private/tmp/mybroker/bin/artemis-service" start Finally: run the thing: # this will install dependenciesdotnet restore log : Restoring packages for /work/apache/six/artemis-distribution/target/apache-artemis-2.0.0-SNAPSHOT-bin/apache-artemis-2.0.0-SNAPSHOT/examples/dotnet/amqp/queue/project.json... log : Writing lock file to disk. Path: /work/apache/six/artemis-distribution/target/apache-artemis-2.0.0-SNAPSHOT-bin/apache-artemis-2.0.0-SNAPSHOT/examples/dotnet/amqp/queue/project.lock.json log : /work/apache/six/artemis-distribution/target/apache-artemis-2.0.0-SNAPSHOT-bin/apache-artemis-2.0.0-SNAPSHOT/examples/dotnet/amqp/queue/project.json log : Restore completed in 741ms. # this will run the codedotnet run Project dotnet (.NETCoreApp,Version=v1.1) will be compiled because expected outputs are missing Compiling dotnet for .NETCoreApp,Version=v1.1 Compilation succeeded. 0 Warning(s) 0 Error(s) Time elapsed 00:00:00.9060278 Message sent into queue q1 All of this can be done with both Artemis and ActiveMQ Classic AMQP is a quite powerful and you can reuse your client libraries any way you want. [Less]
Posted 19 days ago by Clebert
My first draft for this blog had a very extensive introduction about AMQP, its benefits, how business manager X would preserve its investment and blablablablaba... Lets say I cut all that #@!# and I'm jumping right to the good stuff: AMQP is cool ... [More] , full of Libraries that you can bring to use with ActiveMQ Artemis. One of the Libraries you can use is the AMQPLite with .NET If you just want to read the code, i have recently added the .NET Example on Artemis, which is pretty much what I'm describing here Let me give you a cooking recipe on how to write a .NET application and Apache ActiveMQ Artemis Let's do it! Step 1 - Install .NET There is this fun video explaining how to do it. My teenager daughter would definitely be able to follow this: https://channel9.msdn.com/Blogs/dotnet/Get-started-with-VS-Code-using-CSharp-and-NET-Core Step 2 - Write the code I basically followed the steps here on this hello world app: https://github.com/Azure/amqpnetlite/blob/master/docs/articles/hello_amqp.md The main pitfall I had since I was very rusty on .NET was to install the AMQP.net library accordingly: But I reckon it was my fault, although I could fix it in 10 min by adding this to the project.json: "dependencies": {"AMQPNetLite": "1.2.2"}, Here is the code I have: using System; using Amqp; namespace ConsoleApplication { public class Program { public static void Main(string[] args) { string address = "amqp://a:a@localhost:5672"; Connection connection = new Connection(new Address(address)); Session session = new Session(connection); SenderLink sender = new SenderLink(session, "test-sender", "q1"); Message message1 = new Message("Hello AMQP!"); sender.Send(message1); Console.WriteLine("Message sent into queue q1"); } } } Step 3 - Create an Artemis Broker and run it ./artemis create /tmp/myBroker ./artemis create /tmp/mybroker Creating ActiveMQ Artemis instance at: /private/tmp/mybroker --user: is a mandatory property! Please provide the default username: a --password: is mandatory with this configuration: Please provide the default password: --role: is a mandatory property! Please provide the default role: a --allow-anonymous | --require-login: is a mandatory property! Allow anonymous access? (Y/N): y Auto tuning journal ... done! Your system can make 25 writes per millisecond, your journal-buffer-timeout will be 40000 You can now start the broker by executing: "/private/tmp/mybroker/bin/artemis" run Or you can run the broker in the background using: "/private/tmp/mybroker/bin/artemis-service" start Finally: run the thing: # this will install dependenciesdotnet restore log : Restoring packages for /work/apache/six/artemis-distribution/target/apache-artemis-2.0.0-SNAPSHOT-bin/apache-artemis-2.0.0-SNAPSHOT/examples/dotnet/amqp/queue/project.json... log : Writing lock file to disk. Path: /work/apache/six/artemis-distribution/target/apache-artemis-2.0.0-SNAPSHOT-bin/apache-artemis-2.0.0-SNAPSHOT/examples/dotnet/amqp/queue/project.lock.json log : /work/apache/six/artemis-distribution/target/apache-artemis-2.0.0-SNAPSHOT-bin/apache-artemis-2.0.0-SNAPSHOT/examples/dotnet/amqp/queue/project.json log : Restore completed in 741ms. # this will run the codedotnet run Project dotnet (.NETCoreApp,Version=v1.1) will be compiled because expected outputs are missing Compiling dotnet for .NETCoreApp,Version=v1.1 Compilation succeeded. 0 Warning(s) 0 Error(s) Time elapsed 00:00:00.9060278 Message sent into queue q1 All of this can be done with both Artemis and ActiveMQ Classic AMQP is a quite powerful and you can reuse your client libraries any way you want. [Less]
Posted 20 days ago by Sally
Hello, February! Here's what the Apache community has been working on this week: ASF Board –management and oversight of the business and affairs of the corporation in accordance with the Foundation's bylaws. - Next Board Meeting: 15 February ... [More] 2017. Board calendar and minutes available at http://apache.org/foundation/board/calendar.html ASF Infrastructure –our distributed team on four continents keeps the ASF's infrastructure running around the clock. - 7M+ weekly checks yield ongoing "three nines" performance at 99.93% uptime http://status.apache.org/ ApacheCon™ –Tomorrow's Technology Today. https://s.apache.org/F7Hy - DEADLINES:   - CFPs close 11 February http://apachecon.com/   - Travel Assistance applications close 8 March https://www.apache.org/travel/   - Early registration and hotel rates end 12 March http://events.linuxfoundation.org/events/apachecon-north-america   - Apache Committers: remember to register using your apache.org address + discount code to save even more!  - Recordings from ApacheCon Europe 2016 are being uploaded at Feathercast http://feathercast.orgNew logos/marks wanted –with the launch of the ASF's new visual identity last year, many Apache projects have been freshening up their looks. Calls are open for: - Apache Incubator https://s.apache.org/rFii and Apache OpenNLP https://issues.apache.org/jira/browse/OPENNLP-6 Apache Atlas (incubating) –a scalable and extensible set of core foundational governance services - enabling enterprises to effectively and efficiently meet their compliance requirements within Hadoop and allows integration with the whole enterprise data ecosystem. - Apache Atlas 0.7.1-incubating released http://www.apache.org/dyn/closer.cgi/incubator/atlas/0.7.1-incubating/ Apache Bahir™ –provides extensions to distributed analytic platforms such as Apache Spark. - Apache Bahir 2.0.2 released http://bahir.apache.org Apache Jackrabbit™ –a fully compliant implementation of the Content Repository for Java(TM) Technology API, version 2.0 (JCR 2.0) as specified in the Java Specification Request 283 (JSR 283). - Apache Jackrabbit 2.4.7 and Jackrabbit Oak 1.6.0 released http://jackrabbit.apache.org/downloads.html Apache Log4j™ –a well-known framework for logging application behavior - Apache Log4j 2.8 released https://logging.apache.org/log4j/2.x/ Apache OpenMeetings™ –provides video conferencing, instant messaging, white board, collaborative document editing and other groupware tools using API functions of the Red5 Streaming Server for Remoting and Streaming. - Apache OpenMeetings 3.1.5 released http://openmeetings.apache.org/downloads.html Apache POI™ –a Java library for reading and writing Microsoft Office files  - Apache POI 3.16 beta 2 released https://www.apache.org/dyn/closer.lua/poi/dev/RELEASE-NOTES-3.16-beta2.txt Apache Syncope™ –an Open Source system for managing digital identities in enterprise environments, implemented in Java EE technology. - Apache Syncope 2.0.2 released http://syncope.apache.org/downloads.html Apache UIMA™ –a component architecture and framework for the analysis of unstructured content like text, video and audio data. - Apache UIMA Java SDK 3.0.0-alpha released http://uima.apache.org Did You Know?  - Did you know that Apache OpenNLP, a machine learning based toolkit for processing natural language text, can be used with Apache Lucene/Solr to tag words with part-of-speech, extract named entities, and more? https://opennlp.apache.org/  - Did you know that standalone tracks taking place alongside ApacheCon include Apache: Big Data, Flex Project Summit, TomcatCon, Apache: IoT, and CloudStack Collaboration Conference? Join us! http://apachecon.com/  - Did you know that Apache CouchDB has its own weekly news round-up? https://blog.couchdb.org/2017/02/02/couchdb-weekly-news-february-2-2017/ Apache Community Notices:  - "Success at Apache" is a new monthly blog series that focuses on the processes behind why the ASF "just works". 1) Project Independence https://s.apache.org/CE0V 2) "All Carrot and No Stick" https://s.apache.org/ykoG  - Feedback from The Apache Software Foundation on the Free and Open Source Security Audit (FOSSA) https://s.apache.org/romf  - ASF Operations Summary - Q2 FY2017 https://s.apache.org/oTOF  - The list of Apache project-related MeetUps can be found at http://apache.org/events/meetups.html  - Find out how you can participate with Apache community/projects/activities --opportunities open with Apache HTTP Server, Avro, ComDev (community development), Directory, Incubator, OODT, POI, Polygene, Syncope, Tika, Trafodion, and more! https://helpwanted.apache.org/  - ApacheCon North America and Apache:BigData will be held 16-18 May 2017 in Miami http://apachecon.com/  - Are your software solutions Powered by Apache? Download & use our "Powered By" logos http://www.apache.org/foundation/press/kit/#poweredby  - Show your support for Apache with ASF-approved swag from http://www.zazzle.com/featherwearand http://s.apache.org/landsend--all proceeds benefit the ASF!  = = = For real-time updates, sign up for Apache-related news by sending mail to announce-subscribe@apache.org and follow @TheASF on Twitter. For a broader spectrum from the Apache community, https://twitter.com/PlanetApache provides an aggregate of Project activities as well as the personal blogs and tweets of select ASF Committers. # # # [Less]
Posted 24 days ago by rbowen
We are excited to welcome TomcatCon to our growing family of Apache community conferences at ApacheCon. TomcatCon will be held concurrently with ApacheCon, at the Intercontinental in Miami, May 14-18, 2017. It will feature topics on all aspects of ... [More] Tomcat. The schedule will be finalized in early March. The planning is based around the following outline schedule: Day 1 Opening session State of the Cat ~4 sessions on security topics Day 2 ~3 sessions on networking (reverse proxying, load-balancing, clustering) ~2 sessions on performance / monitoring ~1 session on reactive Day 3 ~1 session on migration / upgrade ~1 session on packaging ~1 session on microservices ~1 session on cloud Wrap-up If you would like to speak at TomcatCon, submit your talk via the ApacheCon Call for Papers, indicating 'Tomcat' in the 'Target Audience' field. The deadline is February 11th. Attendees of TomcatCon will also have access to Apache: Big Data, CloudStack Collaboration Conference, and the main ApacheContracks. Register today to take advantage of early bird rates. [Less]
Posted 27 days ago by Remko Popma
The Apache Log4j 2 team is pleased to announce the Log4j 2.8 release! Apache Log4j is a well known framework for logging application behavior. Log4j 2 is an upgrade to Log4j that provides significant improvements over its predecessor, Log4j 1.x ... [More] , and provides many other modern features such as support for Markers, lambda expressions for lazy logging, property substitution using Lookups, multiple patterns on a PatternLayout and asynchronous Loggers. Another notable Log4j 2 feature is the ability to be "garbage-free" (avoid allocating temporary objects) while logging. In addition, Log4j 2 will not lose events while reconfiguring. This release contains several bugfixes and new features. The new features include the ability to have the RollingFileAppender log directly to the archive files, a new Apache Cassandra appender, a new ThreadContext::getThreadContextMap API method for custom ThreadContext implementations, support for variables in GelfLayout's additional fields, and support for Lookups in properties' default values. Also, this release continues the GC-free epic by updating many more filters and pattern layout converters so that they no longer allocate temporary objects during steady state logging. More details on the new features and fixes are itemized below. Note that subsequent to the 2.6 release a minor source incompatibility was found due to the addition of new methods to the Logger interface. If you have code that does: logger.error(null, “This is the log message”, throwable); or similar with any log level you will get a compiler error saying the reference is ambiguous. To correct this either do: logger.error(“This is the log message”, throwable); or logger.error((Marker) null, “This is the log message”, throwable); The Log4j 2.8 API, as well as many core components, maintains binary compatibility with previous releases. GA Release 2.8 Changes in this version include: New features: LOG4J2-1032: Make DefaultRolloverStrategy more efficent when renaming files. Add nomax option to the fileIndex attribute. LOG4J2-1101: RollingFileAppender now supports omitting the file name and writing directly to the archive files. LOG4J2-1243: Allow default value in property to be a Lookup. LOG4J2-1787: Document how to exclude transitive conflicting dependencies in Maven and Gradle. LOG4J2-1773: Add StatusLoggerRule to allow unit tests to set a status level. LOG4J2-424: Add non-string data type support to JdbcAppender via new ColumnMapping plugin. LOG4J2-1771: Add a Builder to ColumnConfig and deprecate ColumnConfig.createColumnConfig(). LOG4J2-1770: Add a Builder to JdbcAppender and deprecate JdbcAppender.createAppender(). LOG4J2-1764: Use MethodHandle in ContextDataFactory cached constructor. LOG4J2-1730: Add Apache Cassandra appender and ColumnMapping plugin. LOG4J2-1759: Add TypeConverter for java.util.UUID. LOG4J2-1758: Add TypeConverter for java.nio.file.Path. LOG4J2-1755: Add TypeConverter and constraint validators for java.net.InetAddress and port numbers. LOG4J2-969: Refactor SyslogAppender so that Layout is a Plugin element. LOG4J2-1660: Added public method ThreadContext::getThreadContextMap; removed class ThreadContextAccess. LOG4J2-1379: Add documentation regarding YAML configuration format. LOG4J2-1718: Introduce marker interface AsynchronouslyFormattable. LOG4J2-1681: Introduce interfaces IndexedStringMap and IndexedReadOnlyStringMap, supporting garbage-free iteration over sorted map. LOG4J2-1695: Add a Builder to ScriptPatternSelector and deprecate ScriptPatternSelector.createSelector(). LOG4J2-1696: Add a Builder to MarkerPatternSelector and deprecate MarkerPatternSelector.createSelector(). LOG4J2-1697: Add a SerializerBuilder to PatternLayout and deprecate PatternLayout.createSerializer(). LOG4J2-1701: Add a Builder to RandomAccessFileAppender and deprecate RandomAccessFileAppender.createAppender(). LOG4J2-1703: Add a Builder to MemoryMappedFileAppender and deprecate MemoryMappedFileAppender.createAppender(). LOG4J2-1704: Add a Builder to RollingRandomAccessFileAppender and deprecate RollingRandomAccessFileAppender.createAppender(). LOG4J2-1709: Add a Builder to SyslogAppender and deprecate SyslogAppender.createAppender(). LOG4J2-1707: Allow TCP Socket Appender to set socket options. LOG4J2-1708: Allow Secure Socket Appender to set socket options. LOG4J2-1737: Add a Builder to SyslogLayout and deprecate SyslogLayout.createLayout(Facility, boolean, String, Charset). LOG4J2-1738: Add a Builder to JsonLayout and deprecate org.apache.logging.log4j.core.layout.JsonLayout.createLayout(Configuration, boolean, boolean, boolean, boolean, boolean, boolean, String, String, Charset, boolean). LOG4J2-1739: Add Builder to KafkaAppender and deprecate KafkaAppender.createAppender(Layout, Filter, String, boolean, String, Property[], Configuration). LOG4J2-1733: Add SyncSend attribute to KafkaAppender (as in KafkaLog4jAppender). Thanks to Vincent Tieleman. Fixed Bugs: LOG4J2-1780: Eliminate the use of the ExecutorServices in the LoggerContext. LOG4J2-1786: ConfigurationScheduler now preserves interrupt flag during stop. LOG4J2-1779: Fixed bug where AsyncLogger did not resolve configuration properties. LOG4J2-1769: Fixed concurrency issue affecting all layouts except PatternLayout and GelfLayout, which caused scrambled output and exceptions when logging synchronously from multiple threads. Thanks to Brandon Goodin. LOG4J2-1724: Using variables in GelfLayout's additional fields at runtime. Thanks to Alexander Krasnostavsky. LOG4J2-1762: Add Builder to GelfLayout. LOG4J2-1649: Insure the ConfigurationScheduler shuts down without blocking. Thanks to Georg Friedrich. LOG4J2-1653: CronTriggeringPolicy would use the wrong date/time when rolling over and create multiple triggering policies on reconfiguration. Thanks to Georg Friedrich. LOG4J2-1748: Do not use non-daemon thread pool for rollover tasks. LOG4J2-1628: Fixed file locking regression in FileAppender introduced in 2.6. LOG4J2-1744: The custom logger Generate tool no longer requires the log4j-api module on the classpath. LOG4J2-1731: SslSocketManager now respects connectTimeoutMillis. Thanks to Chris Ribble. LOG4J2-1682: Logger using LocalizedMessageFactory prints key instead of message. Thanks to Markus Waidhofer. LOG4J2-1720: Make GelfLayout independent of Jackson. LOG4J2-1719: Fixed race condition in ObjectMessage and SimpleMessage, ensuring that the log message contains the value the object has during the logging call. LOG4J2-1688: Fixed bug where elements of a log message parameter array were nulled out in garbage-free mode. LOG4J2-1692: Add putAll() method to CloseableThreadContext. Thanks to Greg Thomas. LOG4J2-1689: Add CleanableThreadContextMap interface supporting method removeAll(Iterable). LOG4J2-1685: Option 'disableAnsi' in PatternLayout to unconditionally disable ANSI escape codes. Thanks to Raman Gupta. LOG4J2-1706: Make TimeFilter usable as global filter and as logger filter. LOG4J2-1722: (GC) Avoid allocating temporary objects in VariablesNotEmptyReplacementConverter. LOG4J2-1717: (GC) Avoid allocating temporary objects in EncodingPatternConverter. LOG4J2-1716: (GC) Avoid allocating temporary objects in MapPatternConverter. (Note that constructing a MapMessage is not garbage-free.) LOG4J2-1683: (GC) Avoid allocating temporary objects in MapMessage. LOG4J2-1715: (GC) Avoid allocating temporary objects in NdcPatternConverter. (Note that use of the ThreadContext stack is not garbage-free.) LOG4J2-1714: (GC) Avoid allocating temporary objects in AbstractStyleNameConverter. LOG4J2-1680: (GC) Avoid allocating temporary objects in TimeFilter. LOG4J2-1679: (GC) Avoid allocating temporary objects in StructuredDataFilter. LOG4J2-1678: (GC) Avoid allocating temporary objects in ThreadContextMapFilter. LOG4J2-1677: (GC) Avoid allocating temporary objects in MapFilter. LOG4J2-1674: (GC) Avoid allocating temporary objects in ThresholdFilter. LOG4J2-1673: (GC) Avoid allocating temporary objects in MarkerFilter. LOG4J2-1672: (GC) Avoid allocating temporary objects in LevelRangeFilter. LOG4J2-1671: (GC) Avoid allocating temporary objects in EqualsIgnoreCaseReplacementConverter. LOG4J2-1670: (GC) Avoid allocating temporary objects in EqualsReplacementConverter. LOG4J2-1669: (GC) Avoid allocating temporary objects in MaxLengthConverter. LOG4J2-1668: (GC) Avoid allocating temporary objects in MarkerPatternConverter. LOG4J2-1667: (GC) Avoid allocating temporary objects in SequenceNumberPatternConverter. LOG4J2-1666: (GC) Avoid allocating temporary objects in RelativeTimePatternConverter. LOG4J2-1665: (GC) Avoid allocating temporary objects in IntegerPatternConverter. LOG4J2-1637: Fixed problems when used in OSGi containers (IllegalAccessError, NoClassDefFoundError). LOG4J2-1226: Improve LogEvent serialization to handle non-serializable Messages and deserializing when required classes are missing. LOG4J2-1663: Ensure SortedArrayStringMap can be serialized and deserialized without errors regardless of content. LOG4J2-1658: Prevent NPE in ThreadContextMapFactory::createThreadContextMap when initializing Log4j with Configurator::initialize and the BasicContextSelector is used. LOG4J2-1645: Immutable empty StringMap. LOG4J2-1623: Configurable JVM shutdown hook timeout. LOG4J2-1712: Pick up bug fixes from Apache Commons Lang's org.apache.commons.lang3.time package. LOG4J2-1636: Console Appender does not pick up Oracle Java 8's sun.stdout.encoding and sun.stderr.encoding. Thanks to Eldar Gabdullin. LOG4J2-1639: Fix MemoryMappedFileAppender.createAppender() Javadoc for immediateFlush. Thanks to Sridhar Gopinath. LOG4J2-1676: Some LogEvents may not carry a Throwable (Use Message.getThrowable() in log(Message) methods.) Thanks to Joern Huxhorn. LOG4J2-1723: Unwanted transitive dependency on geronimo-jms_1.1_spec causes OSGi tests to fail. Thanks to Ludovic HOCHET. LOG4J2-1664: Improve OSGi unit tests. Thanks to Ludovic HOCHET. LOG4J2-1687: NPE in ThrowableProxy when resolving stack in Java EE/OSGi environment. Thanks to Robert Christiansen. LOG4J2-1642: DefaultShutdownCallbackRegistry can throw a NoClassDefFoundError. Thanks to Johno Crawford. LOG4J2-1474: CronTriggeringPolicy raise exception and fail to rollover log file when evaluateOnStartup is true. Thanks to yin mingjun, Neon. LOG4J2-1734: SslSocketManagerFactory might leak Sockets when certain startup errors occur. LOG4J2-1736: TcpSocketManagerFactory might leak Sockets when certain startup errors occur. LOG4J2-1740: Add CronTriggeringPolicy programmatically leads to NPE. LOG4J2-1743: CompositeConfiguration does not add filters to appenderRefs. Thanks to Toby Shepheard. LOG4J2-1756: Adds xmlns in schema and some other tags. Thanks to shubhankar1100. Changes: LOG4J2-1781: Update Conversant Disruptor from 1.2.7 to 1.2.10 LOG4J2-1774: Replace MockEJB dependency in unit tests with Spring Test and Mockito. LOG4J2-1644: Inefficient locking in AbstractLoggerAdapter. Thanks to Tim Gokcen, Pavel Sivolobtchik. LOG4J2-1641: Update JeroMQ from 0.3.5 to 0.3.6. LOG4J2-1647: Update Commons Lang from 3.4 to 3.5. LOG4J2-1646: Migrate to Mockito 2.x in unit tests. LOG4J2-1655: Update Jackson from 2.8.3 to 2.8.4. LOG4J2-1735: Update Jackson from 2.8.4 to 2.8.5. LOG4J2-1656: Update Apache Flume from 1.6.0 to 1.7.0. LOG4J2-1698: Update LMAX Disruptor from 3.3.5 to 3.3.6. LOG4J2-1700: Update Jansi from 1.13 to 1.14. LOG4J2-1750: Update Kafka from 0.10.0.1 to 0.10.1.1. LOG4J2-1751: Update liquibase-core from 3.5.1 to 3.5.3. LOG4J2-1302: The log4j-slf4j-impl module now declares a runtime dependency on log4j-core. While not technically required, this makes the log4j-slf4j-impl module behave similarly to slf4j-log4j12, and facilitates migration to Log4j 2. Apache Log4j 2.8 requires a minimum of Java 7 to build and run. Log4j 2.3 was the last release that supported Java 6. Basic compatibility with Log4j 1.x is provided through the log4j-1.2-api component, however it does not implement some of the very implementation specific classes and methods. The package names and Maven groupId have been changed to org.apache.logging.log4j to avoid any conflicts with log4j 1.x. For complete information on Apache Log4j 2, including instructions on how to submit bug reports, patches, or suggestions for improvement, see the Apache Apache Log4j 2 website: http://logging.apache.org/log4j/2.x/ [Less]
Posted 27 days ago by Sally
We're closing out the month with another week of great work from the Apache community: ASF Board –management and oversight of the business and affairs of the corporation in accordance with the Foundation's bylaws. - Next Board Meeting: 15 ... [More] February 2017. Board calendar and minutes available at http://apache.org/foundation/board/calendar.html ASF Infrastructure –our distributed team on four continents keeps the ASF's infrastructure running around the clock. - 7M+ weekly checks yield "three nines" performance maintained at 99.97% uptime http://status.apache.org/ ApacheCon™ –the official conference series of The Apache Software Foundation. - ApacheCon: Tomorrow's Technology Today. https://s.apache.org/F7Hy - CFPs for Apache: Big Data and ApacheCon North America 16-18 May 2017/Miami close 11 February http://apachecon.com/ - Travel Assistance applications now being accepted through 8 March https://www.apache.org/travel/ - Early registration and hotel incentives available through 12 March http://events.linuxfoundation.org/events/apachecon-north-america - Recordings from ApacheCon Europe 2016 are being uploaded at Feathercast http://feathercast.orgNew logos/marks wanted –with the launch of the ASF's new visual identity last year, many Apache projects have been freshening up their looks. New logo calls are open for: - Apache Incubator https://s.apache.org/rFii - Apache OpenNLP https://issues.apache.org/jira/browse/OPENNLP-6 Apache HttpComponents™ Client –a library for client-side HTTP communication built on HttpCore. - Apache HttpComponents Client 4.5.3 GA released http://hc.apache.org/downloads.cgi Apache Impala (incubating) –a high-performance C++ and Java SQL query engine for data stored in Apache Hadoop-based clusters. - Apache Impala 2.8.0 released https://impala.incubator.apache.org/downloads.html Apache Jackrabbit™ –a fully compliant implementation of the Content Repository for Java(TM) Technology API, version 2.0 (JCR 2.0) as specified in the Java Specification Request 283 (JSR 283). - Apache Jackrabbit 2.10.5 released http://jackrabbit.apache.org/downloads.html Apache Kudu™ –a distributed columnar storage engine built for the Apache Hadoop ecosystem. - Apache Kudu 1.2.0 released http://kudu.apache.org/releases/1.2.0/ Apache Lucene™ –a high-performance, full-featured text search engine library written entirely in Java. - Apache Lucene 6.4.0 released http://lucene.apache.org/core/mirrors-core-latest-redir.html - Apache Solr 6.4.0 released http://lucene.apache.org/solr/mirrors-solr-latest-redir.html Apache Parquet™ –a general-purpose columnar data format with support across processing frameworks, data models, and languages. - Apache Parquet 1.8.2 released https://www.apache.org/dyn/closer.cgi/parquet/ Apache Qpid™ –implements the latest AMQP specification, the first open standard for enterprise messaging, and provides transaction management, queuing, distribution, security, management, clustering, federation, and heterogeneous multi-platform support and a lot more. - Apache Qpid JMS 0.20.0 released http://qpid.apache.org/download.html Did You Know?  - Did you know that the deep learning framework MXNet has entered the Apache Incubator? http://incubator.apache.org/projects/mxnet.html  - Did you know that the ASF's Twitter account now has 40,000 followers? https://twitter.com/TheASF  - Did you know that you can help test the Struts 2.5.10 build? http://markmail.org/thread/gp7gdhria7k7kjxs Apache Community Notices:  - "Success at Apache" is a new monthly blog series that focuses on the processes behind why the ASF "just works". 1) Project Independence https://s.apache.org/CE0V 2) "All Carrot and No Stick" https://s.apache.org/ykoG  - Feedback from The Apache Software Foundation on the Free and Open Source Security Audit (FOSSA) https://s.apache.org/romf  - ASF Operations Summary - Q2 FY2017 https://s.apache.org/oTOF  - The list of Apache project-related MeetUps can be found at http://apache.org/events/meetups.html  - Find out how you can participate with Apache community/projects/activities --opportunities open with Apache HTTP Server, Avro, ComDev (community development), Directory, Incubator, OODT, POI, Polygene, Syncope, Tika, Trafodion, and more! https://helpwanted.apache.org/  - ApacheCon North America and Apache:BigData will be held 16-18 May 2017 in Miami http://apachecon.com/  - Are your software solutions Powered by Apache? Download & use our "Powered By" logos http://www.apache.org/foundation/press/kit/#poweredby  - Show your support for Apache with ASF-approved swag from http://www.zazzle.com/featherwearand http://s.apache.org/landsend--all proceeds benefit the ASF!  = = = For real-time updates, sign up for Apache-related news by sending mail to announce-subscribe@apache.org and follow @TheASF on Twitter. For a broader spectrum from the Apache community, https://twitter.com/PlanetApache provides an aggregate of Project activities as well as the personal blogs and tweets of select ASF Committers. # # # [Less]
Posted 27 days ago by Sally
Since 1999, The Apache Software Foundation (ASF) has been recognized as a leading source for Open Source software and tools that meet the demand for interoperable, adaptable, and sustainable solutions.  The all-volunteer ASF develops ... [More] , stewards, and incubates dozens of enterprise-grade Open Source projects that power mission-critical applications in financial services, aerospace, publishing, government, healthcare, research, infrastructure, and more. From Abdera to ZooKeeper, the ASF's reliable, community-driven software continues to grow dramatically across many categories, including Cloud, IoT and Edge Computing, Artificial Intelligence and Deep Learning, Mobile, and Big Data, where the Apache Hadoop ecosystem dominates the marketplace. Today, many of the ASF's 300+ projects serve as the backbone for some of the world's most visible and widely used applications in Big Data (Cassandra, Hadoop, Spark); Cloud (CouchDB, CloudStack, Mesos); Search and CMS (Derby, Jackrabbit, Lucene/Solr); DevOps and Build Management (Ant, Buildr, Maven); Web Frameworks (Flex, OFBiz, Struts); Servers (HTTP Web Server, Tomcat, Traffic Server); among others. Apache technologies also command some of the most sought-after career skills. Hiring managers surveyed in the 2016 Open Source Jobs Report state that Open Source recruitment will increase more than any other part of their business over the next six months. Knowing which are the essential skills is simply not enough: keeping current with Apache projects and actively participating in their communities are essential in understanding how to address business needs and how to best apply the tips and tools available. The ASF's official global conference series, ApacheCon, is one of the most effective ways to quickly gain competitive advantage. Over the past 17 years, ApacheCon has drawn attendees from more than 60 countries to learn about core Open Source technologies directly from Apache project developer and user communities --independent of business interests, corporate biases, or sales pitches. Highlights include: Timely Content --learn first-hand from the largest collection of global Apache project communities through detailed sessions, and standalone tracks such as Apache: Big Data, Flex Project Summit, TomcatCon, Apache: IoT, and CloudStack Collaboration Conference. Breaking industry news? You'll hear it here first. Innovation Insight --presentations from the Apache Incubator (the ASF's hub for Open Source innovations, where a record 64 projects are currently undergoing development) include the latest developments in data science, Cloud, embedded systems, and many other categories, as well as industry-specific areas such as climate, microfinances, and cryptography. Learn what's next. Knowledge Exchange --meet the people behind dozens of Apache projects through ample networking opportunities including BarCampApache, hackathons, BoFs, and corridor discussions. Driving a project in new directions? Starting a new initiative? Ideation sparks here. Education --gain the latest skills with in-depth tutorials, trainings, and workshops with low student-to-instructor ratio. Classes are often led by the original creators and companies behind some of the most popular projects in Open Source. Sponsor Showcase and Expo --engage with some of the commercial products and service providers behind Apache project communities in a friendly, relaxed, non-sales environment.  Join individual developers, Fortune 500 companies, start ups, educators, consultants, and Open Source enthusiasts at the largest dedicated gathering of the collective Apache community at ApacheCon North America 16-18 May 2016 in Miami, FL. Important Dates:  - Call for Participation now open through 11 February 2017 http://apachecon.com/  - Travel Assistance applications open through 8 March 2017 https://www.apache.org/travel/ - Conference Schedule published on 9 March 2017  - Early registration and lodging incentives available through 12 March 2017 http://events.linuxfoundation.org/events/apachecon-north-america/attend/register- For more information, visit http://apachecon.com/ and https://twitter.com/ApacheCon # # # [Less]
Posted 27 days ago by Sally
Since 1999, The Apache Software Foundation (ASF) has been recognized as a leading source for Open Source software and tools that meet the demand for interoperable, adaptable, and sustainable solutions.  The all-volunteer ASF develops ... [More] , stewards, and incubates dozens of enterprise-grade Open Source projects that power mission-critical applications in financial services, aerospace, publishing, government, healthcare, research, infrastructure, and more. From Abdera to ZooKeeper, the ASF's reliable, community-driven software continues to grow dramatically across many categories, including Cloud, IoT and Edge Computing, Artificial Intelligence and Deep Learning, Mobile, and Big Data, where the Apache Hadoop ecosystem dominates the marketplace. Today, many of the ASF's 300+ projects serve as the backbone for some of the world's most visible and widely used applications in Big Data (Cassandra, Hadoop, Spark); Cloud (CouchDB, CloudStack, Mesos); Search and CMS (Derby, Jackrabbit, Lucene/Solr); DevOps and Build Management (Ant, Buildr, Maven); Web Frameworks (Flex, OFBiz, Struts); Servers (HTTP Web Server, Tomcat, Traffic Server); among others. Apache technologies also command some of the most sought-after career skills. Hiring managers surveyed in the 2016 Open Source Jobs Report state that Open Source recruitment will increase more than any other part of their business over the next six months. Knowing which are the essential skills is simply not enough: keeping current with Apache projects and actively participating in their communities are essential in understanding how to address business needs and how to best apply the tips and tools available. The ASF's official global conference series, ApacheCon, is one of the most effective ways to quickly gain competitive advantage. Over the past 17 years, ApacheCon has drawn attendees from more than 60 countries to learn about core Open Source technologies directly from Apache project developer and user communities --independent of business interests, corporate biases, or sales pitches. Highlights include: Timely Content --learn first-hand from the largest collection of global Apache project communities through detailed sessions, and standalone tracks such as Apache:Big Data, Flex Project Summit, TomcatCon, and CloudStack Collaboration Conference. Breaking industry news? You'll hear it here first. Innovation Insight --presentations from the Apache Incubator (the ASF’s hub for Open Source innovations, where a record 64 projects are currently undergoing development) include the latest developments in data science, Cloud, embedded systems, and many other categories, as well as industry-specific areas such as climate, microfinances, and cryptography. Learn what’s next. Knowledge Exchange --meet the people behind dozens of Apache projects through ample networking opportunities including BarCampApache, hackathons, BoFs, and corridor discussions. Driving a project in new directions? Starting a new initiative? Ideation sparks here. Education --gain the latest skills with in-depth tutorials, trainings, and workshops with low student-to-instructor ratio. Classes are often led by the original creators and companies behind some of the most popular projects in Open Source. Sponsor Showcase and Expo --engage with some of the commercial products and service providers behind Apache project communities in a friendly, relaxed, non-sales environment.  Join individual developers, Fortune 500 companies, start ups, educators, consultants, and Open Source enthusiasts at the largest dedicated gathering of the collective Apache community at ApacheCon North America 15-18 May 2016 in Miami, FL. Important Dates:  - Call for Participation now open through 11 February 2017  - Travel Assistance applications open through 8 March 2017  - Early registration and lodging incentives now available through 12 March 2017 For more information, visit http://apachecon.com/ and https://twitter.com/ApacheCon # # # [Less]
Posted 27 days ago by Sally
Since 1999, The Apache Software Foundation (ASF) has been recognized as a leading source for Open Source software and tools that meet the demand for interoperable, adaptable, and sustainable solutions.  The all-volunteer ASF develops ... [More] , stewards, and incubates dozens of enterprise-grade Open Source projects that power mission-critical applications in financial services, aerospace, publishing, government, healthcare, research, infrastructure, and more. From Abdera to ZooKeeper, the ASF's reliable, community-driven software continues to grow dramatically across many categories, including Cloud, IoT and Edge Computing, Artificial Intelligence and Deep Learning, Mobile, and Big Data, where the Apache Hadoop ecosystem dominates the marketplace. Today, many of the ASF's 300+ projects serve as the backbone for some of the world's most visible and widely used applications in Big Data (Cassandra, Hadoop, Spark); Cloud (CouchDB, CloudStack, Mesos); Search and CMS (Derby, Jackrabbit, Lucene/Solr); DevOps and Build Management (Ant, Buildr, Maven); Web Frameworks (Flex, OFBiz, Struts); Servers (HTTP Web Server, Tomcat, Traffic Server); among others. Apache technologies also command some of the most sought-after career skills. Hiring managers surveyed in the 2016 Open Source Jobs Report state that Open Source recruitment will increase more than any other part of their business over the next six months. Knowing which are the essential skills is simply not enough: keeping current with Apache projects and actively participating in their communities are essential in understanding how to address business needs and how to best apply the tips and tools available. The ASF's official global conference series, ApacheCon, is one of the most effective ways to quickly gain competitive advantage. Over the past 17 years, ApacheCon has drawn attendees from more than 60 countries to learn about core Open Source technologies directly from Apache project developer and user communities --independent of business interests, corporate biases, or sales pitches. Highlights include: Timely Content --learn first-hand from the largest collection of global Apache project communities through detailed sessions, and standalone tracks such as Apache:Big Data, Flex Project Summit, TomcatCon, and CloudStack Collaboration Conference. Breaking industry news? You'll hear it here first. Innovation Insight --presentations from the Apache Incubator (the ASF's hub for Open Source innovations, where a record 64 projects are currently undergoing development) include the latest developments in data science, Cloud, embedded systems, and many other categories, as well as industry-specific areas such as climate, microfinances, and cryptography. Learn what's next. Knowledge Exchange --meet the people behind dozens of Apache projects through ample networking opportunities including BarCampApache, hackathons, BoFs, and corridor discussions. Driving a project in new directions? Starting a new initiative? Ideation sparks here. Education --gain the latest skills with in-depth tutorials, trainings, and workshops with low student-to-instructor ratio. Classes are often led by the original creators and companies behind some of the most popular projects in Open Source. Sponsor Showcase and Expo --engage with some of the commercial products and service providers behind Apache project communities in a friendly, relaxed, non-sales environment.  Join individual developers, Fortune 500 companies, start ups, educators, consultants, and Open Source enthusiasts at the largest dedicated gathering of the collective Apache community at ApacheCon North America 16-18 May 2016 in Miami, FL. Important Dates:  - Call for Participation now open through 11 February 2017 http://apachecon.com/  - Travel Assistance applications open through 8 March 2017 https://www.apache.org/travel/ - Conference Schedule published on 9 March 2017  - Early registration and lodging incentives available through 12 March 2017 http://events.linuxfoundation.org/events/apachecon-north-america/attend/register- For more information, visit http://apachecon.com/ and https://twitter.com/ApacheCon # # # [Less]