Paper check About

Spanner: Google's Globally-Distributed Database

OSDI, 2012 · paper · Computer science

Describes Spanner, Google's globally distributed, synchronously replicated database, its features and design rationale. It claims to be the first system distributing data at global scale with externally consistent transactions, enabled by a time API exposing clock uncertainty.

Checked: PDF from storage.googleapis.com, fetched 4 Oct 2026. Page numbers are those of that PDF.

0 findings

None that passed a second check.

12 minor (typos and the like; most checked by the judge only)
Reference or label "Pavlo et al. [2009] ... They point to several other efforts ... [Abouzeid et al. 2009; Armbrust et al. 2011; Brantner et al. 2008; Thusoo et al. 2010]" credits a 2009 paper with pointing to works the reference list dates 2010 and 2011.
  • p. 19 Section 6, Related Work, para 2
    They point to several other efforts that have been made to explore database functionality layered on distributed key-value stores [Abouzeid et al. 2009; Armbrust et al. 2011; Brantner et al. 2008; Thusoo et al. 2010]
  • p. 22 Reference list
    Pavlo, A., Paulson, E., Rasin, A., Abadi, D. J., DeWitt, D. J., Madden, S., and Stonebraker, M. 2009.
  • p. 19 Section 6 Related Work, second paragraph
    Pavlo et al. [2009] have compared the performance of databases and MapReduce
  • p. 19 Section 6 Related Work, second paragraph
    Armbrust et al. 2011; Brantner et al. 2008; Thusoo et al. 2010]

Only the authors can say what is right here.

Judge's note: The p19 image confirms the sentence. In the reference list, Pavlo et al. is dated 2009 (SIGMOD), Armbrust et al. 2011 (PIQL, VLDB) and Thusoo et al. 2010 (Hive, ICDE). As written, the sentence says Pavlo et al. cited works that, by the paper's own reference dates, came out after it. The authors may have added their own examples, which only they can confirm.

Second check: another model agreed

Report a problem with this finding
Wording The Introduction says Spanner "automatically migrates data across machines (even across datacenters) to balance load". Section 7 says "moving data automatically between datacenters in response to changes in client load has long been a goal of ours" and that the team is "currently implementing ... automatic load-based resharding".
  • p. 1 Section 1 Introduction, first paragraph
    cally migrates data across machines (even across datacenters) to balance load
  • p. 2 Section 1 Introduction, fourth paragraph
    dynamically and transparently moved between datacenters by the system to balance
  • p. 20 Section 7 Future Work, second paragraph
    moving data automatically between datacenters in response to changes in client load has long been a goal of ours

Only the authors can say what is right here.

Judge's note: I looked at the p1 Introduction, the p2 fourth paragraph ("dynamically and transparently moved between datacenters by the system to balance resource usage") and the p20 Future Work. I also read the Section 2 text, which says the placement driver moves data "to meet updated replication constraints or to balance load". 'Balancing load' could mean server or resource load, while 'client load' could mean where clients are, so the two passages may refer to different capabilities. The paper never draws that line, and saying load-based resharding is still being implemented sits uneasily with the claim of automatic load-balancing migration. This is an ambiguity that only the authors can resolve, not a clear error.

Second check: another model agreed

Report a problem with this finding
Wording Section 4.2.2 says "(The current Spanner implementation only chooses a timestamp for a snapshot transaction at a Paxos leader.)" and Table II says "leader for timestamp". For multi-group scopes, however, the paper says "The client avoids a negotiation round, and just executes its reads at s_read = TT.now().latest".
  • p. 12 Section 4.2.2, paragraphs 2-3
    The current Spanner implementation only chooses a timestamp for a snapshot transaction at a Paxos leader.
  • p. 12 Section 4.2.2, paragraph 3
    The client avoids a negotiation round, and just executes its reads at sread =
  • p. 9 Table II, Snapshot Transaction row
    leader for timestamp; any for read, subject to § 4.1.3

Only the authors can say what is right here.

Judge's note: I checked p12 and Table II on p9. The parenthetical sits in the single-group paragraph, but it is worded as a general statement about the current implementation, and Table II's 'leader for timestamp' has no qualifier. In the multi-group case described next, the client sets s_read itself from TT.now().latest without going to a leader. The scope of the 'only at a Paxos leader' statement is ambiguous and should be clarified.

Second check: another model agreed

Report a problem with this finding
Wording Future Work says "We are currently implementing the Spanner schema language", yet Section 2.3 presents "an example Spanner schema" and says "The schema language is similar to Megastore's".
  • p. 19 Section 7 Future Work
    We are currently implementing the Spanner schema language
  • p. 18 Section 6 Related Work, first paragraph
    Spanner follows Megastore in providing a semirelational data model, and even a similar schema language.
  • p. 17 Section 5.4 F1
    update their database’s schema to tell Spanner where to

Only the authors can say what is right here.

Judge's note: The text search finds Figure 4 described as an 'Example Spanner schema' and Section 2.3 calling the schema language similar to Megastore's (text line 337). Related Work on p18 says Spanner provides 'a similar schema language', and p17 says F1 updates its schema to place leaders. The paper does not say which part of the schema language is still being implemented, so the two statements are ambiguous together.

Second check: another model agreed

Report a problem with this finding
Typo The headings "4.1.2. Assigning Timestamps to RW Transactions" and "4.1.4. Assigning Timestamps to RO Transactions" use 'RW' and 'RO', which the paper never defines; the body text says 'read-write transaction' and 'snapshot transaction'.
  • p. 11 Heading 4.1.4
    Assigning Timestamps to RO Transactions
  • p. 10 Heading 4.1.2
    Assigning Timestamps to RW Transactions

Judge's note: A search of the text finds 'RW' and 'RO' only in these two headings, and 'read-only' only in the title of a cited reference. The 4.1.4 heading crop shows the body beginning "A snapshot transaction executes...", and Table II uses "Read-Write Transaction" and "Snapshot Transaction". This is a cosmetic terminology inconsistency.

Second check: none (judge only)

Report a problem with this finding
Typo In Section 4.1.3 the qualifier appears twice in one sentence: "over all transactions Ti prepared at g, t_safe^TM = min_i(s_i,g^prepare) − 1 over all transactions prepared at g."
  • p. 11 Section 4.1.3, last sentence
    over all transactions Ti prepared at g, tTM safe = mini(sprepare i,g ) −1 over all transactions prepared at g

Judge's note: The p11 image (C004-a crop) shows the qualifier both before and after the formula in the same sentence. This is a copy-editing duplication and does not change the meaning.

Second check: none (judge only)

Report a problem with this finding
Typo Section 4.2.2 prints "all of the groups's leaders"; the plural possessive should be "groups' leaders".
  • p. 12 Section 4.2.2, third paragraph
    all of the groups's leaders
  • p. 12 4.2.2
    all of the groups’s

Judge's note: The p12 image shows "with all of the groups’s leaders to negotiate s_read". The plural possessive is malformed.

Second check: none (judge only)

Report a problem with this finding
Typo In Table IV every 99th-percentile value has three decimals, while its SD and the mean column have one (e.g. "26.550 ± 6.2", "206.443 ± 15.8").
  • p. 15 Table IV, 99th percentile column
    26.550 ± 6.2

Judge's note: The p15 image confirms the mixed precision for all eight rows of Table IV. The values are not wrong; the precision is inconsistent and spurious.

Second check: none (judge only)

Report a problem with this finding
Typo The Acknowledgments print "Sridhar Ramaswany", which is probably a misspelling of "Ramaswamy".
  • p. 20 Acknowledgments
    Sridhar Ramaswany

Only the authors can say what is right here.

Judge's note: Rests on outside knowledge: the acknowledged Google executive's surname is spelled 'Ramaswamy'. The p20 image confirms that the printed spelling is 'Ramaswany'.

Second check: none (judge only)

Report a problem with this finding
Typo Section 7 last paragraph enumerates improvement areas with "Second, moving data automatically between datacenters..." but the first item ("Although Spanner is scalable in the number of nodes...") is never marked "First".
  • p. 20 Section 7 Future Work, last paragraph
    Finally, there are obvious areas for improvement. Although Spanner is scalable
  • p. 20 Section 7 Future Work, last paragraph
    Second, moving data automatically between datacenters

Judge's note: Checked the page 20 image: the paragraph opens "Finally, there are obvious areas for improvement. Although Spanner is scalable..." and later says "Second, ...". It contains no "First" and no "Third". This is a small enumeration inconsistency. The meaning stays clear, so it is cosmetic.

Second check: none (judge only)

Report a problem with this finding
Typo Calvin reference author list reads "Thomson, A., Diamond, T., Shu-Chun Weng, T. D., Ren, K., ...", where one author is a full name followed by stray initials instead of the list's 'Surname, Initials' format (e.g., 'Weng, S.-C.').
  • p. 22 Reference list, Thomson et al. 2012
    Thomson, A., Diamond, T., Shu-Chun Weng, T. D., Ren, K., Shao, P., and Abadi, D. J. 2012.

Judge's note: The page 22 image shows the same text as the extract, so this is not an extraction artefact. Every other author in the reference list is written 'Surname, Initials'. 'Shu-Chun Weng, T. D.' breaks that format, which can be seen from the page alone. Saying 'T. D.' is spurious relies on outside knowledge of Calvin's author list (Thomson, Diamond, Weng, Ren, Shao, Abadi). The formatting defect itself is internally evident.

Second check: none (judge only)

Report a problem with this finding
Typo Shraer et al. 2012 reference spells the co-author "Junqueiera, F.", which appears to be a misspelling of Junqueira.
  • p. 22 Reference list, Shraer et al. 2012
    Shraer, A., Reed, B., Malkhi, D., and Junqueiera, F. 2012.
  • p. 22 Reference list, Shraer et al. 2012
    Junqueiera, F. 2012
  • p. 22 References, Shraer et al. 2012
    Junqueiera, F.

Only the authors can say what is right here.

Judge's note: Rests on outside knowledge: that the co-author of 'Dynamic reconfiguration of primary/backup clusters' (USENIX ATC 2012) is Flavio Junqueira. The page 22 image confirms the printed spelling 'Junqueiera, F. 2012.' This is the only occurrence of the name in the paper, so there is nothing in the files to compare it with.

Second check: none (judge only)

Report a problem with this finding
Something wrong with this page, or a finding we missed?