Return-Path: X-Original-To: apmail-pig-dev-archive@www.apache.org Delivered-To: apmail-pig-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 23EE31757F for ; Thu, 11 Jun 2015 10:23:02 +0000 (UTC) Received: (qmail 616 invoked by uid 500); 11 Jun 2015 10:23:01 -0000 Delivered-To: apmail-pig-dev-archive@pig.apache.org Received: (qmail 559 invoked by uid 500); 11 Jun 2015 10:23:01 -0000 Mailing-List: contact dev-help@pig.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@pig.apache.org Delivered-To: mailing list dev@pig.apache.org Received: (qmail 548 invoked by uid 500); 11 Jun 2015 10:23:01 -0000 Delivered-To: apmail-hadoop-pig-dev@hadoop.apache.org Received: (qmail 545 invoked by uid 99); 11 Jun 2015 10:23:01 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 Jun 2015 10:23:01 +0000 Date: Thu, 11 Jun 2015 10:23:01 +0000 (UTC) From: "Remi Catherinot (JIRA)" To: pig-dev@hadoop.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (PIG-4598) Allow user defined plan optimizer rules MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 Remi Catherinot created PIG-4598: ------------------------------------ Summary: Allow user defined plan optimizer rules Key: PIG-4598 URL: https://issues.apache.org/jira/browse/PIG-4598 Project: Pig Issue Type: Improvement Components: impl Affects Versions: 0.15.0, 0.14.0 Reporter: Remi Catherinot Pig has only builtin plan optimizer rules. Adding the possibility to load used defined and implemented Rule make it easier for people to work on plan optimization. The idea behind this is to be able to push/propose new optimizer rule through the piggybank without touching pig core classes. I'm preparing some optimisations and so need this patch 1st. One can set classes extending the abstract Rule class using pig.optimizer.user.defined.rules, setting this to one or more named classes splitted using regex [,;:\t ]. These classes will be loaded using PigContext.getClassLoader() and if that fails use the current thread context class loader. Classes can have a PigContext one argument constructor, and if it does not exists the default constructor is used. -- This message was sent by Atlassian JIRA (v6.3.4#6332)