Re: Proposal for an inbound2 branch

2013-05-02 Thread Neil

Ryan VanderMeulen wrote:


My proposal:
-Create an inbound2 branch identically configured to mozilla-inbound.
-Under normal circumstances (i.e. m-i open), inbound2 will be CLOSED.
-In the event of a long tree closure, the last green changeset from 
m-i will be merged to inbound2 and inbound2 will be opened for checkins.
---It will be a judgment call for sheriffs as to how long of a closure 
will suffice for opening inbound2.
-When the bustage on m-i is resolved and it is again passing tests, 
inbound2 will be closed again.
-When all pending jobs on inbound2 are completed, it will be merged to 
m-i.


Why do we need a separate repo? Can we not simply close the broken head 
and start again at the last green changeset?


--
Warning: May contain traces of nuts.
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Proposal for an inbound2 branch

2013-05-02 Thread Ehsan Akhgari

On 2013-05-02 5:46 AM, Neil wrote:

Ryan VanderMeulen wrote:


My proposal:
-Create an inbound2 branch identically configured to mozilla-inbound.
-Under normal circumstances (i.e. m-i open), inbound2 will be CLOSED.
-In the event of a long tree closure, the last green changeset from
m-i will be merged to inbound2 and inbound2 will be opened for checkins.
---It will be a judgment call for sheriffs as to how long of a closure
will suffice for opening inbound2.
-When the bustage on m-i is resolved and it is again passing tests,
inbound2 will be closed again.
-When all pending jobs on inbound2 are completed, it will be merged to
m-i.


Why do we need a separate repo? Can we not simply close the broken head
and start again at the last green changeset?


Multiheaded repos are evil.  They're very hard to deal with, and I don't 
think that buildbot can deal with them properly.  Also, they cannot be 
represented in git, which means that they will break the git mirror.


Cheers,
Ehsan

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Proposal for an inbound2 branch

2013-05-02 Thread Neil

Ehsan Akhgari wrote:

Multiheaded repos are evil.  They're very hard to deal with, and I 
don't think that buildbot can deal with them properly.  Also, they 
cannot be represented in git, which means that they will break the git 
mirror.


Why does mozilla-inbound need a git mirror?

--
Warning: May contain traces of nuts.
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Proposal for an inbound2 branch

2013-05-02 Thread Mike Hommey
On Thu, May 02, 2013 at 09:21:57AM -0400, Ehsan Akhgari wrote:
 Also, they cannot be represented in git

I doubt this is true. The bridging tools may well not support it, but
there's nothing structural about multiple-head repository that would
prevent them to be mirrored in git.

Mike
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Proposal for an inbound2 branch

2013-05-02 Thread Matt Brubeck

On 5/2/2013 6:21 AM, Ehsan Akhgari wrote:

On 2013-05-02 5:46 AM, Neil wrote:

Why do we need a separate repo? Can we not simply close the broken head
and start again at the last green changeset?


Multiheaded repos are evil.  They're very hard to deal with, and I don't
think that buildbot can deal with them properly.


Buildbot can deal with a multi-headed Try, so it can probably be 
convinced to deal with a multi-headed inbound, even if it needs to be a 
special case like Try.


Individual developers might have more problems (they'll want to pull 
from inbound, unlike Try) but I think as long as the inactive heads are 
closed it won't freak out Mercurial too much...  The suggested workflow 
with inbound2 would lead to almost-identical multi-headed repos in 
developers' local clones anyway.

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Proposal for an inbound2 branch

2013-05-02 Thread Boris Zbarsky

On 5/2/13 10:09 AM, Matt Brubeck wrote:

The suggested workflow
with inbound2 would lead to almost-identical multi-headed repos in
developers' local clones anyway.


Only temporary ones, until inbound and inbound2 merge.

-Boris
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


smartmake-like functionality has landed in mach

2013-05-02 Thread Nick Alexander

Hello dev-platform,

If you don't use mach, this message does not concern you.  If you use
mach, in particular |mach build DIRECTORY|, keep reading.

Bug 677452 landed smartmake-like functionality into mach, which I have
dubbed dumbmake.  smartmake (and dumbmake) [1] maintains a list of
dependencies between source directories that are not captured in our
recursive make configuration [2].  This means that

|mach build DIRECTORY|

might actually build several directories.  This change does not affect
|mach build|, and you can disable the new functionality on the command
line with |mach build -X|.

This is a short term step towards making |mach build| create functional
builds more often, while requiring developers to internalize fewer
dependencies.  Long term, any dependency information added by Bug 677452
should be captured by the ongoing efforts to Build Faster [3].

I would appreciate help improving the list of dependencies.  The list is
maintained at build/dumbmake-dependencies; see
python/mozbuild/dumbmake/README.rst for a description of the format.

Finally, I'd like to thank Josh Matthews, the original author of
smartmake, and Till Schneidereit, who added significant functionality
and provided valuable guidance on how to integrate some of these ideas
into mach.

Yours,
Nick Alexander

[1] http://hg.mozilla.org/users/josh_joshmatthews.net/smartmake

[2] smartmake can also maintain timestamps and deduce what directories
need to be built, but this isn't implemented in mach.

[3] Harder, better, ..., stronger.
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Mac OSX 10.7+ lion style scroll bars landed on m-i

2013-05-02 Thread Stephen Pohl

Hi,

This is a quick heads up that Mac OSX 10.7+ lion style scroll bars (bug 
636564) have landed on mozilla-inbound with 
https://hg.mozilla.org/integration/mozilla-inbound/rev/0c513ba74137. 
Once merged to mozilla-central expect them to appear in our nightlies.


If you have any feedback or run into problems, please feel free to reach 
out to me or, even better, file bugs and CC me on them.


If you have a need to revert to the old style scroll bars, here are two 
options:

1. Under System Preferences  General, select Show scroll bars: Always.
2. Change nsLookAndFeel::UseOverlayScrollbars to always return false.

Thanks,
Stephen
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Mac OSX 10.7+ lion style scroll bars landed on m-i

2013-05-02 Thread Robert O'Callahan
Hooray! Thanks for all the hard work, Stephen.

Rob
-- 
q“qIqfq qyqoquq qlqoqvqeq qtqhqoqsqeq qwqhqoq qlqoqvqeq qyqoquq,q qwqhqaqtq
qcqrqeqdqiqtq qiqsq qtqhqaqtq qtqoq qyqoquq?q qEqvqeqnq qsqiqnqnqeqrqsq
qlqoqvqeq qtqhqoqsqeq qwqhqoq qlqoqvqeq qtqhqeqmq.q qAqnqdq qiqfq qyqoquq
qdqoq qgqoqoqdq qtqoq qtqhqoqsqeq qwqhqoq qaqrqeq qgqoqoqdq qtqoq qyqoquq,q
qwqhqaqtq qcqrqeqdqiqtq qiqsq qtqhqaqtq qtqoq qyqoquq?q qEqvqeqnq
qsqiqnqnqeqrqsq qdqoq qtqhqaqtq.q
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: smartmake-like functionality has landed in mach

2013-05-02 Thread Nick Alexander

On 13-05-02 3:09 PM, Josh Matthews wrote:

According to
http://mxr.mozilla.org/mozilla-central/source/build/dumbmake-dependencies#8,
it is equivalent to the following:

./mach build -X chrome xpcom toolkit/library


That's correct.  Or, if you're not a mach user, it translates to

make -f client.mk chrome
make -f client.mk xpcom
make -f client.mk toolkit/library

Nick
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Storage in Gecko

2013-05-02 Thread Lawrence Mandel


- Original Message -
 Great post, Taras!
 
 Per IRC conversations, we'd like to move subsequent discussion of
 actions into a meeting so we can more quickly arrive at a resolution.
 
 Please meet in Gregory Szorc's Vidyo Room at 1400 PDT Tuesday, April
 30.
 That's 2200 UTC. Apologies to the European and east coast crowds. If
 you'll miss it because it's too late, let me know and I'll consider
 moving it.
 
 https://v.mozilla.com/flex.html?roomdirect.htmlkey=yJWrGKmbSi6S

Did someone post a summary of this meeting? Is there a link to share?

Lawrence

 
 On 4/29/13 10:51 AM, Taras Glek wrote:
  * How to robustly write/update small datasets?
 
  #3 above is it for small datasets. The correct way to do this is to
  write blobs of JSON to disk. End of discussion.
 
  Writes of data = ~64K should just be implemented as atomic
  whole-file
  read/write operations. Those are almost always single blocks on
  disk.
 
  Writing a whole file at once eliminates risk of data corruption.
  Incremental updates are what makes sqlite do the WAL/fsync/etc
  dance
  that causes much of the slowness.
 
  We invested a year worth of engineering effort into a pure-js IO
  library
  to facilitate efficient application-level IO. See OS.File docs, eg
  https://developer.mozilla.org/en-US/docs/JavaScript_OS.File/OS.File_for_the_main_thread
 
 
  As you can see from above examples, manual IO is not scary
 
  If one is into convenience APIs, one can create arbitrary
  json-storage
  abstractions in ~10lines of code.
 
  * What about writes  64K?
  Compression gives you 5-10x reduction of json.
  https://bugzilla.mozilla.org/show_bug.cgi?id=846410
  Compression also means that your read-throughput is up to 5x better
  too.
 
 
  * What about fsync-less writes?
  Many log-type performance-sensitive data-storage operations are ok
  with
  lossy appends. By lossy I mean data will be lost if there is a
  power
  outage within a few seconds/minutes of write, consistency is still
  important. For this one should create a directory and write out log
  entries as checksummed individual files...but one should really use
  compression(and get checksums for free).
  https://bugzilla.mozilla.org/show_bug.cgi?id=846410 is about
  facilitating such an API.
 
  Use-cases here: telemetry saved-sessions, FHR session-statistics.
 
  * What about large datasets?
  These should be decided on a case-by-case basis. Universal
  solutions
  will always perform poorly in some dimension.
 
  * What about indexeddb?
  IDB is overkill for simple storage needs. It is a restrictive
  wrapper
  over an SQLite schema. Perhaps some large dataset (eg an
  addressbook) is
  a good fit for it. IDB supports filehandles to do raw IO, but that
  still
  requires sqlite to bootstrap, doesn't support compression, etc.
  IDB also makes sense as a transitional API for web due to the need
  to
  move away from DOM Local Storage...
 
  * Why isn't there a convenience API for all of the above
  recommendations?
  Because speculatively landing APIs that anticipate future consumers
  is
  risky, results in over-engineering and unpleasant surprises...So
  give us
  use-cases and we(ie Yoric) will make them efficient.
 
  Taras
 
 ___
 dev-platform mailing list
 dev-platform@lists.mozilla.org
 https://lists.mozilla.org/listinfo/dev-platform
 
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: smartmake-like functionality has landed in mach

2013-05-02 Thread Dave Townsend

On 5/2/2013 3:45 PM, Nick Alexander wrote:

On 13-05-02 3:09 PM, Josh Matthews wrote:

According to
http://mxr.mozilla.org/mozilla-central/source/build/dumbmake-dependencies#8,

it is equivalent to the following:

./mach build -X chrome xpcom toolkit/library


That's correct.  Or, if you're not a mach user, it translates to

make -f client.mk chrome
make -f client.mk xpcom
make -f client.mk toolkit/library

Nick


Does it also build browser/app on OSX after every build? Since that is 
pretty much required all the time and often missed.

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Storage in Gecko

2013-05-02 Thread Gregory Szorc

On 5/2/2013 4:13 PM, Lawrence Mandel wrote:


- Original Message -

Great post, Taras!

Per IRC conversations, we'd like to move subsequent discussion of
actions into a meeting so we can more quickly arrive at a resolution.

Please meet in Gregory Szorc's Vidyo Room at 1400 PDT Tuesday, April
30.
That's 2200 UTC. Apologies to the European and east coast crowds. If
you'll miss it because it's too late, let me know and I'll consider
moving it.

https://v.mozilla.com/flex.html?roomdirect.htmlkey=yJWrGKmbSi6S

Did someone post a summary of this meeting? Is there a link to share?


Notes at https://etherpad.mozilla.org/storage-in-gecko

We seemed to converge on a (presumably C++-based) storage service that 
has named branches/buckets with specific consistency, flushing, etc 
guarantees. Clients would obtain a handle on a branch, and perform 
basic I/O operations, including transactions. Branches could be created 
ad-hoc at run-time. So add-ons could obtain their own storage namespace 
with the storage guarantees of their choosing. Under the hood storage 
would be isolated so failures in one component wouldn't affect everybody.


We didn't have enough time to get into prototyping or figuring out who 
would implement it.


Going forward, I'm not sure who should own this initiative on a 
technical level. In classical Mozilla fashion the person who brings it 
up is responsible. That would be me. However, I haven't written a single 
line of C++ for Firefox and I have serious doubts I'd be effective. 
Perhaps we should talk about it at the next Platform meeting.

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: smartmake-like functionality has landed in mach

2013-05-02 Thread Josh Matthews

On 05/03/2013 12:35 AM, Nick Alexander wrote:

On 13-05-02 4:23 PM, Dave Townsend wrote:

On 5/2/2013 3:45 PM, Nick Alexander wrote:

On 13-05-02 3:09 PM, Josh Matthews wrote:

According to
http://mxr.mozilla.org/mozilla-central/source/build/dumbmake-dependencies#8,



it is equivalent to the following:

./mach build -X chrome xpcom toolkit/library


That's correct.  Or, if you're not a mach user, it translates to

make -f client.mk chrome
make -f client.mk xpcom
make -f client.mk toolkit/library

Nick


Does it also build browser/app on OSX after every build? Since that is
pretty much required all the time and often missed.


Looking at
http://mxr.mozilla.org/mozilla-central/source/build/dumbmake-dependencies,
it does not.

I considered supporting conditional dependencies like this, but was torn
between using the preprocessor or using the expression parser used for
test manifests.  I decided to land the simplest thing that could
possibly work first, but I'm game for improving the format to support
conditionals.

Yours,
Nick


Given that browser/app is a pretty quick build (afaik), we could 
probably just throw it into the list as a global dependency.


Cheers,
Josh
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Storage in Gecko

2013-05-02 Thread David Teller
Whatever you do, please, please, please make sure that everything is 
worker-friendly.
If we can't write (or at least read) contents to that Key-Value store from a 
worker, we will need to reimplement everything in a few months.

Cheers,
 David

- Original Message -
From: Gregory Szorc g...@mozilla.com
To: Lawrence Mandel lman...@mozilla.com
Cc: David Rajchenbach-Teller dtel...@mozilla.com, Taras Glek 
tg...@mozilla.com, dev-platform dev-platform@lists.mozilla.org
Sent: Friday, May 3, 2013 1:36:15 AM
Subject: Re: Storage in Gecko

On 5/2/2013 4:13 PM, Lawrence Mandel wrote:

 - Original Message -
 Great post, Taras!

 Per IRC conversations, we'd like to move subsequent discussion of
 actions into a meeting so we can more quickly arrive at a resolution.

 Please meet in Gregory Szorc's Vidyo Room at 1400 PDT Tuesday, April
 30.
 That's 2200 UTC. Apologies to the European and east coast crowds. If
 you'll miss it because it's too late, let me know and I'll consider
 moving it.

 https://v.mozilla.com/flex.html?roomdirect.htmlkey=yJWrGKmbSi6S
 Did someone post a summary of this meeting? Is there a link to share?

Notes at https://etherpad.mozilla.org/storage-in-gecko

We seemed to converge on a (presumably C++-based) storage service that 
has named branches/buckets with specific consistency, flushing, etc 
guarantees. Clients would obtain a handle on a branch, and perform 
basic I/O operations, including transactions. Branches could be created 
ad-hoc at run-time. So add-ons could obtain their own storage namespace 
with the storage guarantees of their choosing. Under the hood storage 
would be isolated so failures in one component wouldn't affect everybody.

We didn't have enough time to get into prototyping or figuring out who 
would implement it.

Going forward, I'm not sure who should own this initiative on a 
technical level. In classical Mozilla fashion the person who brings it 
up is responsible. That would be me. However, I haven't written a single 
line of C++ for Firefox and I have serious doubts I'd be effective. 
Perhaps we should talk about it at the next Platform meeting.
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform