RE: Buiding Hadoop code from source
Hi Vikas, I you want to checkout the latest source code and compile and build then I think Hadoop wiki would be the best source to see the steps. http://wiki.apache.org/hadoop/HowToContribute -Original Message- From: Vikas Jadhav [mailto:vikascjadha...@gmail.com] Sent: Friday, March 01, 2013 2:13 PM To: hadoop-...@lucene.apache.org; u...@hadoop.apache.org Subject: Buiding Hadoop code from source Hello, I want to to build hadoop code downloded from svn or git can someone explicitly tell about these steps. also i want to do some modifications using eclipse and again build that code and install it on my machine Thank You -- * * * Thanx and Regards* * Vikas Jadhav*
Jenkins build is back to normal : Hadoop-Common-trunk #699
See https://builds.apache.org/job/Hadoop-Common-trunk/699/changes
[jira] [Created] (HADOOP-9350) Hadoop not building against Java7 on OSX
Steve Loughran created HADOOP-9350: -- Summary: Hadoop not building against Java7 on OSX Key: HADOOP-9350 URL: https://issues.apache.org/jira/browse/HADOOP-9350 Project: Hadoop Common Issue Type: Bug Components: build Affects Versions: 3.0.0 Environment: OSX, java version 1.7.0_15 -Oracle installation of JRE and JDK Reporter: Steve Loughran Priority: Minor Maven stack-traces out in the {{jspc}} compilation as the JSPC plugin doesn't work against the new JDK7 JAR layout. Needs a symlink set up to fix -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (HADOOP-9350) Hadoop not building against Java7 on OSX
[ https://issues.apache.org/jira/browse/HADOOP-9350?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Steve Loughran resolved HADOOP-9350. Resolution: Won't Fix Hadoop not building against Java7 on OSX - Key: HADOOP-9350 URL: https://issues.apache.org/jira/browse/HADOOP-9350 Project: Hadoop Common Issue Type: Bug Components: build Affects Versions: 3.0.0 Environment: OSX, java version 1.7.0_15 -Oracle installation of JRE and JDK Reporter: Steve Loughran Priority: Minor Maven stack-traces out in the {{jspc}} compilation as the JSPC plugin doesn't work against the new JDK7 JAR layout. Needs a symlink set up to fix -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
Re: Buiding Hadoop code from source
I write down my steps of compiling hadoop 1.1 here: http://yiyujia.blogspot.com/2012/10/steps-to-compile-hadoop-on-centos-63.html I basically follow articles on the apache wiki. I just add some steps that not expilicitly mentioned like preparing googel protocolBuffer etc. On Fri, Mar 1, 2013 at 8:48 AM, Noelle Jakusz njak...@vmware.com wrote: +1 Just getting started, I was looking for this too :) Thanks! ~~ Noelle Jakusz Skype: noelle.jakusz Phone: (419) 862-5463tel:(419)%20862-5463 http://about.me/noellejakusz On Mar 1, 2013, at 3:47 AM, Agarwal, Nikhil nikhil.agar...@netapp.com mailto:nikhil.agar...@netapp.com wrote: Hi Vikas, I you want to checkout the latest source code and compile and build then I think Hadoop wiki would be the best source to see the steps. http://wiki.apache.org/hadoop/HowToContribute -Original Message- From: Vikas Jadhav [mailto:vikascjadha...@gmail.com] Sent: Friday, March 01, 2013 2:13 PM To: hadoop-...@lucene.apache.orgmailto:hadoop-...@lucene.apache.org; u...@hadoop.apache.orgmailto:u...@hadoop.apache.org Subject: Buiding Hadoop code from source Hello, I want to to build hadoop code downloded from svn or git can someone explicitly tell about these steps. also i want to do some modifications using eclipse and again build that code and install it on my machine Thank You -- * * * Thanx and Regards* * Vikas Jadhav*
Re: Buiding Hadoop code from source
thank you all Working on ubuntu svn checkout http://svn.apache.org/repos/asf/hadoop/common/trunk/hadoop-trunk just want to know how to create jar of changed code and deploy total hadoop framework i followed 1) svn checkout http://svn.apache.org/repos/asf/hadoop/common/trunk/hadoop-trunk 2) ant 3) ant eclipse 4) set ANT_HOME=/usr/share/ant On Fri, Mar 1, 2013 at 8:56 PM, yiyu jia jia.y...@gmail.com wrote: I write down my steps of compiling hadoop 1.1 here: http://yiyujia.blogspot.com/2012/10/steps-to-compile-hadoop-on-centos-63.html I basically follow articles on the apache wiki. I just add some steps that not expilicitly mentioned like preparing googel protocolBuffer etc. On Fri, Mar 1, 2013 at 8:48 AM, Noelle Jakusz njak...@vmware.com wrote: +1 Just getting started, I was looking for this too :) Thanks! ~~ Noelle Jakusz Skype: noelle.jakusz Phone: (419) 862-5463tel:(419)%20862-5463 http://about.me/noellejakusz On Mar 1, 2013, at 3:47 AM, Agarwal, Nikhil nikhil.agar...@netapp.com mailto:nikhil.agar...@netapp.com wrote: Hi Vikas, I you want to checkout the latest source code and compile and build then I think Hadoop wiki would be the best source to see the steps. http://wiki.apache.org/hadoop/HowToContribute -Original Message- From: Vikas Jadhav [mailto:vikascjadha...@gmail.com] Sent: Friday, March 01, 2013 2:13 PM To: hadoop-...@lucene.apache.orgmailto:hadoop-...@lucene.apache.org; u...@hadoop.apache.orgmailto:u...@hadoop.apache.org Subject: Buiding Hadoop code from source Hello, I want to to build hadoop code downloded from svn or git can someone explicitly tell about these steps. also i want to do some modifications using eclipse and again build that code and install it on my machine Thank You -- * * * Thanx and Regards* * Vikas Jadhav* -- * * * Thanx and Regards* * Vikas Jadhav*
Re: Buiding Hadoop code from source
Vikas, are you trying to build trunk? You will need Maven 3.0. I recommend checking out the source tree and reading BUILDING.txt which has detailed instructions, including how to build jar packages. --Arpit On Fri, Mar 1, 2013 at 9:49 AM, Vikas Jadhav vikascjadha...@gmail.comwrote: thank you all Working on ubuntu svn checkout http://svn.apache.org/repos/asf/hadoop/common/trunk/hadoop-trunk just want to know how to create jar of changed code and deploy total hadoop framework i followed 1) svn checkout http://svn.apache.org/repos/asf/hadoop/common/trunk/hadoop-trunk 2) ant 3) ant eclipse 4) set ANT_HOME=/usr/share/ant On Fri, Mar 1, 2013 at 8:56 PM, yiyu jia jia.y...@gmail.com wrote: I write down my steps of compiling hadoop 1.1 here: http://yiyujia.blogspot.com/2012/10/steps-to-compile-hadoop-on-centos-63.html I basically follow articles on the apache wiki. I just add some steps that not expilicitly mentioned like preparing googel protocolBuffer etc. On Fri, Mar 1, 2013 at 8:48 AM, Noelle Jakusz njak...@vmware.com wrote: +1 Just getting started, I was looking for this too :) Thanks! ~~ Noelle Jakusz Skype: noelle.jakusz Phone: (419) 862-5463tel:(419)%20862-5463 http://about.me/noellejakusz On Mar 1, 2013, at 3:47 AM, Agarwal, Nikhil nikhil.agar...@netapp.com mailto:nikhil.agar...@netapp.com wrote: Hi Vikas, I you want to checkout the latest source code and compile and build then I think Hadoop wiki would be the best source to see the steps. http://wiki.apache.org/hadoop/HowToContribute -Original Message- From: Vikas Jadhav [mailto:vikascjadha...@gmail.com] Sent: Friday, March 01, 2013 2:13 PM To: hadoop-...@lucene.apache.orgmailto:hadoop-...@lucene.apache.org; u...@hadoop.apache.orgmailto:u...@hadoop.apache.org Subject: Buiding Hadoop code from source Hello, I want to to build hadoop code downloded from svn or git can someone explicitly tell about these steps. also i want to do some modifications using eclipse and again build that code and install it on my machine Thank You -- * * * Thanx and Regards* * Vikas Jadhav* -- * * * Thanx and Regards* * Vikas Jadhav*
[jira] [Created] (HADOOP-9351) Hadoop daemon startup scripts cause duplication of command line arguments
Chris Nauroth created HADOOP-9351: - Summary: Hadoop daemon startup scripts cause duplication of command line arguments Key: HADOOP-9351 URL: https://issues.apache.org/jira/browse/HADOOP-9351 Project: Hadoop Common Issue Type: Bug Components: scripts Reporter: Chris Nauroth Fix For: 3.0.0 Command line arguments such as -Dhadoop.log.dir are appearing multiple times when launching Hadoop daemons. This can cause confusion for an operator looking at the process table, especially if there are different values for multiple occurrences of the same argument. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (HADOOP-9347) add instructions to BUILDING.txt describing how to build on Windows
[ https://issues.apache.org/jira/browse/HADOOP-9347?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Suresh Srinivas resolved HADOOP-9347. - Resolution: Fixed Fix Version/s: trunk-win Hadoop Flags: Reviewed I committed the patch to branch-trunk-win. Thank you Chris! Thank you Arpit for the review. add instructions to BUILDING.txt describing how to build on Windows --- Key: HADOOP-9347 URL: https://issues.apache.org/jira/browse/HADOOP-9347 Project: Hadoop Common Issue Type: Improvement Components: documentation Affects Versions: trunk-win Reporter: Chris Nauroth Assignee: Chris Nauroth Fix For: trunk-win Attachments: HADOOP-9347-branch-trunk-win.1.patch, HADOOP-9347-branch-trunk-win.2.patch, HADOOP-9347-branch-trunk-win.3.patch Add documentation to BUILDING.txt describing dependencies and instructions for building on Windows. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
Re: [Vote] Merge branch-trunk-win to trunk
Konstantin- There's no debate on the necessity of CI and related infrastructure to support the platform well. Suresh outlined the support to effect this here: http://s.apache.org/s1 Is the commitment to establish this infrastructure after the merge sufficient? -C On Fri, Mar 1, 2013 at 12:18 PM, Konstantin Shvachko shv.had...@gmail.com wrote: -1 We should have a CI infrastructure in place before we can commit to supporting Windows platform. Eric is right Win/Cygwin was supported since day one. I had a Windows box under my desk running nightly builds back in 2006-07. People were irritated but I was filing windows bugs until 0.22 release. Times changing and I am glad to see wider support for Win platform. But in order to make it work you guys need to put the CI process in place 1. windows jenkins build: could be nightly or PreCommit. - Nightly would mean that changes can be committed to trunk based on linux PreCommit build. And people will file bugs if the change broke Windows nightly build. - PreCommit-win build will mean automatic reporting failed tests to respective jira blocking commits the same way as it is now with linux PreCommit builds. We should discuss which way is more efficient for developers. 2. On-demand-windows Jenkins build. I see it as a build to which I can attach my patch and the build will run my changes on a dedicated windows box. That way people can test their changes without having personal windows nodes. I think this is the minimal set of requirement for us to be able to commit to the new platform. Right now I see only one windows related build https://builds.apache.org/view/Hadoop/job/Hadoop-1-win/ Which was failing since Sept 8, 2012 and did not run in the last month. Thanks, --Konst On Thu, Feb 28, 2013 at 8:47 PM, Eric Baldeschwieler eri...@hortonworks.com wrote: +1 (non-binding) A few of observations: - Windows has actually been a supported platform for Hadoop since 0.1 . Doug championed supporting windows then and we've continued to do it with varying vigor over time. To my knowledge we've never made a decision to drop windows support. The change here is improving our support and dropping the requirement of cigwin. We had Nutch windows users on the list in 2006 and we've been supporting windows FS requirements since inception. - A little pragmatism will go a long way. As a community we've got to stay committed to keeping hadoop simple (so it does work on many platforms) and extending it to take advantage of key emerging OS/hardware features, such as containers, new FSs, virtualization, flash ... We should all plan to let new features optimizations emerge that don't work everywhere, if they are compelling and central to hadoop's mission of being THE best fabric for storing and processing big data. - A UI project like KDE has to deal with the MANY differences between windows and linux UI APIs. Hadoop faces no such complex challenge and hence can be maintained from a single codeline IMO. It is mostly abstracted from the OS APIs via Java and our design choices. Where it is not we can continue to add plugable abstractions.
Re: [Vote] Merge branch-trunk-win to trunk
Commitment is a good thing. I think the two builds that I proposed are a prerequisite for Win support. If we commit windows patch people will start breaking it the next day. Which we wont know without the nightly build and wont be able to fix without the on-demand one. Making two builds is less than 2 days work, imho, given that there is a Windows node available and that mvn targets are in place. Correct me if I missed any complications in the process. Thanks, --Konst On Fri, Mar 1, 2013 at 1:28 PM, Chris Douglas cdoug...@apache.org wrote: Konstantin- There's no debate on the necessity of CI and related infrastructure to support the platform well. Suresh outlined the support to effect this here: http://s.apache.org/s1 Is the commitment to establish this infrastructure after the merge sufficient? -C On Fri, Mar 1, 2013 at 12:18 PM, Konstantin Shvachko shv.had...@gmail.com wrote: -1 We should have a CI infrastructure in place before we can commit to supporting Windows platform. Eric is right Win/Cygwin was supported since day one. I had a Windows box under my desk running nightly builds back in 2006-07. People were irritated but I was filing windows bugs until 0.22 release. Times changing and I am glad to see wider support for Win platform. But in order to make it work you guys need to put the CI process in place 1. windows jenkins build: could be nightly or PreCommit. - Nightly would mean that changes can be committed to trunk based on linux PreCommit build. And people will file bugs if the change broke Windows nightly build. - PreCommit-win build will mean automatic reporting failed tests to respective jira blocking commits the same way as it is now with linux PreCommit builds. We should discuss which way is more efficient for developers. 2. On-demand-windows Jenkins build. I see it as a build to which I can attach my patch and the build will run my changes on a dedicated windows box. That way people can test their changes without having personal windows nodes. I think this is the minimal set of requirement for us to be able to commit to the new platform. Right now I see only one windows related build https://builds.apache.org/view/Hadoop/job/Hadoop-1-win/ Which was failing since Sept 8, 2012 and did not run in the last month. Thanks, --Konst On Thu, Feb 28, 2013 at 8:47 PM, Eric Baldeschwieler eri...@hortonworks.com wrote: +1 (non-binding) A few of observations: - Windows has actually been a supported platform for Hadoop since 0.1 . Doug championed supporting windows then and we've continued to do it with varying vigor over time. To my knowledge we've never made a decision to drop windows support. The change here is improving our support and dropping the requirement of cigwin. We had Nutch windows users on the list in 2006 and we've been supporting windows FS requirements since inception. - A little pragmatism will go a long way. As a community we've got to stay committed to keeping hadoop simple (so it does work on many platforms) and extending it to take advantage of key emerging OS/hardware features, such as containers, new FSs, virtualization, flash ... We should all plan to let new features optimizations emerge that don't work everywhere, if they are compelling and central to hadoop's mission of being THE best fabric for storing and processing big data. - A UI project like KDE has to deal with the MANY differences between windows and linux UI APIs. Hadoop faces no such complex challenge and hence can be maintained from a single codeline IMO. It is mostly abstracted from the OS APIs via Java and our design choices. Where it is not we can continue to add plugable abstractions.
Re: [Vote] Merge branch-trunk-win to trunk
It seems that with the HW in place, the matter of setting at least nightly build is trivial for anyone with up to date Windows knowledge. I wish I could help. Going without a validation is a recipe for a disaster IMO. -1 until some reasonable solution is implemented. Cos On Fri, Mar 01, 2013 at 01:57PM, Konstantin Shvachko wrote: Commitment is a good thing. I think the two builds that I proposed are a prerequisite for Win support. If we commit windows patch people will start breaking it the next day. Which we wont know without the nightly build and wont be able to fix without the on-demand one. Making two builds is less than 2 days work, imho, given that there is a Windows node available and that mvn targets are in place. Correct me if I missed any complications in the process. Thanks, --Konst On Fri, Mar 1, 2013 at 1:28 PM, Chris Douglas cdoug...@apache.org wrote: Konstantin- There's no debate on the necessity of CI and related infrastructure to support the platform well. Suresh outlined the support to effect this here: http://s.apache.org/s1 Is the commitment to establish this infrastructure after the merge sufficient? -C On Fri, Mar 1, 2013 at 12:18 PM, Konstantin Shvachko shv.had...@gmail.com wrote: -1 We should have a CI infrastructure in place before we can commit to supporting Windows platform. Eric is right Win/Cygwin was supported since day one. I had a Windows box under my desk running nightly builds back in 2006-07. People were irritated but I was filing windows bugs until 0.22 release. Times changing and I am glad to see wider support for Win platform. But in order to make it work you guys need to put the CI process in place 1. windows jenkins build: could be nightly or PreCommit. - Nightly would mean that changes can be committed to trunk based on linux PreCommit build. And people will file bugs if the change broke Windows nightly build. - PreCommit-win build will mean automatic reporting failed tests to respective jira blocking commits the same way as it is now with linux PreCommit builds. We should discuss which way is more efficient for developers. 2. On-demand-windows Jenkins build. I see it as a build to which I can attach my patch and the build will run my changes on a dedicated windows box. That way people can test their changes without having personal windows nodes. I think this is the minimal set of requirement for us to be able to commit to the new platform. Right now I see only one windows related build https://builds.apache.org/view/Hadoop/job/Hadoop-1-win/ Which was failing since Sept 8, 2012 and did not run in the last month. Thanks, --Konst On Thu, Feb 28, 2013 at 8:47 PM, Eric Baldeschwieler eri...@hortonworks.com wrote: +1 (non-binding) A few of observations: - Windows has actually been a supported platform for Hadoop since 0.1 . Doug championed supporting windows then and we've continued to do it with varying vigor over time. To my knowledge we've never made a decision to drop windows support. The change here is improving our support and dropping the requirement of cigwin. We had Nutch windows users on the list in 2006 and we've been supporting windows FS requirements since inception. - A little pragmatism will go a long way. As a community we've got to stay committed to keeping hadoop simple (so it does work on many platforms) and extending it to take advantage of key emerging OS/hardware features, such as containers, new FSs, virtualization, flash ... We should all plan to let new features optimizations emerge that don't work everywhere, if they are compelling and central to hadoop's mission of being THE best fabric for storing and processing big data. - A UI project like KDE has to deal with the MANY differences between windows and linux UI APIs. Hadoop faces no such complex challenge and hence can be maintained from a single codeline IMO. It is mostly abstracted from the OS APIs via Java and our design choices. Where it is not we can continue to add plugable abstractions.
Re: [Vote] Merge branch-trunk-win to trunk
On Fri, Mar 1, 2013 at 1:57 PM, Konstantin Shvachko shv.had...@gmail.com wrote: Commitment is a good thing. I think the two builds that I proposed are a prerequisite for Win support. If we commit windows patch people will start breaking it the next day. Which we wont know without the nightly build and wont be able to fix without the on-demand one. As several people have pointed out already, the surface of possible conflicts is relatively limited, and- as you did in 2007- the devs on Windows will report and fix bugs in that platform as they find them. CI is important for detecting and preventing bugs, but this isn't software we're launching into orbit. Making two builds is less than 2 days work, imho, given that there is a Windows node available and that mvn targets are in place. Correct me if I missed any complications in the process. On Fri, Mar 1, 2013 at 3:47 PM, Konstantin Boudnik c...@apache.org wrote: It seems that with the HW in place, the matter of setting at least nightly build is trivial for anyone with up to date Windows knowledge. I wish I could help. Going without a validation is a recipe for a disaster IMO. Fair enough, though that also implies that the window for regressions is small, and it leaves little room to doubt that this will receive priority. Until it's merged, spurious notifications that the current trunk breaks Windows are an awkward introduction to devs' workflow. The order of merge/CI is a choice between mild annoyances, really. But it might be moot. Giri: you're doing the work on this. When do you think it can be complete? -C
Re: [Vote] Merge branch-trunk-win to trunk
On Mar 1, 2013, at 1:57 PM, Konstantin Shvachko wrote: Commitment is a good thing. I think the two builds that I proposed are a prerequisite for Win support. If we commit windows patch people will start breaking it the next day. Which we wont know without the nightly build and wont be able to fix without the on-demand one. They clearly are a prerequisite for declaring official support for windows. But they should not be a prerequisite for the merge,. Currently we enable windows through cygwin. There is no jenkins. Folks have been fixing windows issues as they are discovered. Merging the branch makes the situation no worse than it is today - all tests pass on Linux, there is no regression. Merging now removes the cygwin dependency. Jenkins is critical to make windows officially supported platform without cygwin. When Jenkins is enabled, the team that has worked on this branch will have to fix any bugs that have arisen in the mean time. sanjay
Re: [Vote] Merge branch-trunk-win to trunk
Sanjay, This is really confusing now. Does Hadoop intend to support Windows by committing this patch? If not, when the declaration of the official support comes in and what does it mean? Committing a 500K patch just to make things not worth doesn't make sense to me. If the support for this is planned to be the same as today's for cygwin then what's the point? I thought it was a simple thing to ask: create a nightly build on Jenkins and then duplicate it with additional parameter a patch file. If you have an internal build system how hard is it to push it to Apache Jenkins. Who is the volunteer for this work, please speak up when it can be done. Thanks, --Konstantin On Fri, Mar 1, 2013 at 6:03 PM, sanjay Radia san...@hortonworks.com wrote: On Mar 1, 2013, at 1:57 PM, Konstantin Shvachko wrote: Commitment is a good thing. I think the two builds that I proposed are a prerequisite for Win support. If we commit windows patch people will start breaking it the next day. Which we wont know without the nightly build and wont be able to fix without the on-demand one. They clearly are a prerequisite for declaring official support for windows. But they should not be a prerequisite for the merge,. Currently we enable windows through cygwin. There is no jenkins. Folks have been fixing windows issues as they are discovered. Merging the branch makes the situation no worse than it is today - all tests pass on Linux, there is no regression. Merging now removes the cygwin dependency. Jenkins is critical to make windows officially supported platform without cygwin. When Jenkins is enabled, the team that has worked on this branch will have to fix any bugs that have arisen in the mean time. sanjay
Re: [Vote] Merge branch-trunk-win to trunk
Suresh, I appreciate all the troubles you're going through wrt syncing up the huge patch for a long time - I really do. I am not asking to have full test-patch process in place. But I think it is a real good idea to have a way to run the full test suite once in a while - or as Konstantin proposing - for a given patch, to make sure that codebase doesn't bitrot at the edges. Official support has nothing to do with the issue - you're trying to build a straw man argument around this. What is relevant, on the other hand, is that Windows is so different from _any_ Unix or pseudo-Unix flavors, including Windows with Cygwin - that even multi-platform Java has hard hard time dealing with it. This is enough, IMO, to warrant a separate checkpoint. I hope I have explained myself better. Cos On Fri, Mar 01, 2013 at 05:55PM, Suresh Srinivas wrote: It seems that with the HW in place, the matter of setting at least nightly build is trivial for anyone with up to date Windows knowledge. I wish I could help. Going without a validation is a recipe for a disaster IMO. -1 until some reasonable solution is implemented. Cos Cos, I have hard time understanding your veto? Here is my rationale for merge: Currently with all the cross platform support, the merge patch has +1 from Jenkins on Linux. So no regression has been introduced in Hadoop on Linux. As regards to Windows support I want to make two points: 1. Until Jenkins is setup and we are passing all the tests, I am okay, as Konstntin proposed, if we do not officially declare Windows as supported. I do not want to tie the patch merge with setting up Windows Jenkins. I have been maintaining this branch for a long time and keeping it in sync with trunk is non-trivial. 2. After Jenkins is setup, there is a concern in the community about -1 from Windows hindering patch commits. As others have already suggested in the thread, I am okay committing new patches even if -1 is posted by Jenkins on Windows. The team that worked on Windows will fix the issues. I do not see many such issues cropping up. signature.asc Description: Digital signature